@@ -26,7 +26,8 @@ public function testHtmlLangOnly()
26
26
$ parser ->lang = true ;
27
27
$ result = $ parser ->parse ();
28
28
29
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
29
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
30
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['lang ' ]);
30
31
} # end method testHtmlLangOnly()
31
32
32
33
/**
@@ -39,7 +40,8 @@ public function testHEntryLangOnly()
39
40
$ parser ->lang = true ;
40
41
$ result = $ parser ->parse ();
41
42
42
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
43
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
44
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['lang ' ]);
43
45
} # end method testHEntryLangOnly()
44
46
45
47
/**
@@ -52,7 +54,8 @@ public function testHtmlAndHEntryLang()
52
54
$ parser ->lang = true ;
53
55
$ result = $ parser ->parse ();
54
56
55
- $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
57
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
58
+ $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['lang ' ]);
56
59
} # end method testHtmlAndHEntryLang()
57
60
58
61
/**
@@ -65,7 +68,8 @@ public function testFragmentHEntryLangOnly()
65
68
$ parser ->lang = true ;
66
69
$ result = $ parser ->parse ();
67
70
68
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
71
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
72
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['lang ' ]);
69
73
} # end method testFragmentHEntryLangOnly()
70
74
71
75
/**
@@ -78,7 +82,7 @@ public function testFragmentHEntryNoLang()
78
82
$ parser ->lang = true ;
79
83
$ result = $ parser ->parse ();
80
84
81
- $ this ->assertFalse ( isset ( $ result ['items ' ][0 ][ ' properties ' ][ ' html-lang ' ]) );
85
+ $ this ->assertArrayNotHasKey ( ' lang ' , $ result ['items ' ][0 ]);
82
86
} # end method testFragmentHEntryNoLang()
83
87
84
88
/**
@@ -91,7 +95,7 @@ public function testFragmentHEntryNoLangXML()
91
95
$ parser = new Parser ($ input );
92
96
$ result = $ parser ->parse ();
93
97
94
- $ this ->assertFalse ( isset ( $ result ['items ' ][0 ][ ' properties ' ][ ' html-lang ' ]) );
98
+ $ this ->assertArrayNotHasKey ( ' lang ' , $ result ['items ' ][0 ]);
95
99
} # end method testFragmentHEntryNoLangXML()
96
100
97
101
/**
@@ -105,8 +109,10 @@ public function testMultiLanguageInheritance()
105
109
$ parser ->lang = true ;
106
110
$ result = $ parser ->parse ();
107
111
108
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
109
- $ this ->assertEquals ('es ' , $ result ['items ' ][1 ]['properties ' ]['html-lang ' ]);
112
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
113
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][1 ]);
114
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['lang ' ]);
115
+ $ this ->assertEquals ('es ' , $ result ['items ' ][1 ]['lang ' ]);
110
116
} # end method testMultiLanguageInheritance()
111
117
112
118
/**
@@ -120,10 +126,17 @@ public function testMultiLanguageFeed()
120
126
$ parser ->lang = true ;
121
127
$ result = $ parser ->parse ();
122
128
123
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
124
- $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['children ' ][0 ]['properties ' ]['html-lang ' ]);
125
- $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['children ' ][1 ]['properties ' ]['html-lang ' ]);
126
- $ this ->assertEquals ('fr ' , $ result ['items ' ][0 ]['children ' ][2 ]['properties ' ]['html-lang ' ]);
129
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
130
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['lang ' ]);
131
+
132
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]['children ' ][0 ]);
133
+ $ this ->assertEquals ('en ' , $ result ['items ' ][0 ]['children ' ][0 ]['lang ' ]);
134
+
135
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]['children ' ][1 ]);
136
+ $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['children ' ][1 ]['lang ' ]);
137
+
138
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]['children ' ][2 ]);
139
+ $ this ->assertEquals ('fr ' , $ result ['items ' ][0 ]['children ' ][2 ]['lang ' ]);
127
140
} # end method testMultiLanguageFeed()
128
141
129
142
/**
@@ -136,7 +149,8 @@ public function testMetaContentLanguage()
136
149
$ parser ->lang = true ;
137
150
$ result = $ parser ->parse ();
138
151
139
- $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
152
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
153
+ $ this ->assertEquals ('es ' , $ result ['items ' ][0 ]['lang ' ]);
140
154
} # end method testMetaContentLanguage()
141
155
142
156
/**
@@ -230,7 +244,26 @@ public function testVoxpelliCom()
230
244
$ parser ->lang = true ;
231
245
$ result = $ parser ->parse ();
232
246
233
- $ this ->assertEquals ('sv ' , $ result ['items ' ][0 ]['properties ' ]['html-lang ' ]);
247
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
248
+ $ this ->assertEquals ('sv ' , $ result ['items ' ][0 ]['lang ' ]);
234
249
} # end method testVoxpelliCom()
235
250
251
+
252
+ /**
253
+ * @see https://github.com/indieweb/php-mf2/issues/96#issuecomment-304457341
254
+ */
255
+ public function testNoLangInParsedProperties () {
256
+ $ input = '<div class="h-entry" lang="sv" id="postfrag123">
257
+ <h1 class="p-name">En svensk titel</h1>
258
+ <div class="e-content" lang="en">With an <em>english</em> summary</div>
259
+ <div class="e-content">Och <em>svensk</em> huvudtext</div>
260
+ </div> ' ;
261
+ $ parser = new Parser ($ input );
262
+ $ parser ->lang = true ;
263
+ $ result = $ parser ->parse ();
264
+
265
+ $ this ->assertArrayNotHasKey ('lang ' , $ result ['items ' ][0 ]['properties ' ]);
266
+ $ this ->assertArrayHasKey ('lang ' , $ result ['items ' ][0 ]);
267
+ }
268
+
236
269
}
0 commit comments