@@ -275,33 +275,49 @@ public function testImpliedUWithEmptyHref() {
275
275
$ this ->assertEquals ('http://example.com/ ' , $ output ['items ' ][4 ]['children ' ][0 ]['properties ' ]['url ' ][0 ]);
276
276
}
277
277
278
- public function testValueFromLinkTag () {
279
- $ input = <<< END
278
+ public function testValueFromLinkTag () {
279
+ $ input = <<< END
280
280
<!doctype html>
281
281
<html class="h-entry">
282
- <head>
283
- <link rel="canonical" class="u-url p-name" href="https://example.com/" title="Example.com homepage">
284
- </head>
285
- <body></body>
282
+ <head>
283
+ <link rel="canonical" class="u-url p-name" href="https://example.com/" title="Example.com homepage">
284
+ </head>
285
+ <body></body>
286
286
</html>
287
287
END ;
288
288
289
- $ parser = new Parser ($ input , 'https://example.com ' );
290
- $ output = $ parser ->parse ();
289
+ $ parser = new Parser ($ input , 'https://example.com ' );
290
+ $ output = $ parser ->parse ();
291
+
292
+ $ this ->assertArrayHasKey ('url ' , $ output ['items ' ][0 ]['properties ' ]);
293
+ $ this ->assertEquals ('https://example.com/ ' , $ output ['items ' ][0 ]['properties ' ]['url ' ][0 ]);
291
294
292
- $ this ->assertArrayHasKey ('url ' , $ output ['items ' ][0 ]['properties ' ]);
293
- $ this ->assertEquals ('https://example.com/ ' , $ output ['items ' ][0 ]['properties ' ]['url ' ][0 ]);
295
+ $ this ->assertArrayHasKey ('name ' , $ output ['items ' ][0 ]['properties ' ]);
296
+ $ this ->assertEquals ('Example.com homepage ' , $ output ['items ' ][0 ]['properties ' ]['name ' ][0 ]);
297
+ }
294
298
295
- $ this -> assertArrayHasKey ( ' name ' , $ output [ ' items ' ][ 0 ][ ' properties ' ]);
296
- $ this -> assertEquals ( ' Example.com homepage ' , $ output [ ' items ' ][ 0 ][ ' properties ' ][ ' name ' ][ 0 ] );
297
- }
299
+ public function testResolveFromDataElement () {
300
+ $ parser = new Parser ( ' <div class="h-test"><data class="u-url" value="relative.html"></data></div> ' , ' https://example.com/index.html ' );
301
+ $ output = $ parser -> parse ();
298
302
299
- public function testResolveFromDataElement () {
300
- $ parser = new Parser ( ' <div class="h-test"><data class="u-url" value="relative.html"></data></div> ' , ' https://example.com/index .html ' );
301
- $ output = $ parser -> parse ();
303
+ $ this -> assertArrayHasKey ( ' url ' , $ output [ ' items ' ][ 0 ][ ' properties ' ]);
304
+ $ this -> assertEquals ( ' https://example.com/relative .html ', $ output [ ' items ' ][ 0 ][ ' properties ' ][ ' url ' ][ 0 ] );
305
+ }
302
306
303
- $ this ->assertArrayHasKey ('url ' , $ output ['items ' ][0 ]['properties ' ]);
304
- $ this ->assertEquals ('https://example.com/relative.html ' , $ output ['items ' ][0 ]['properties ' ]['url ' ][0 ]);
305
- }
307
+ /**
308
+ * @see https://github.com/microformats/php-mf2/issues/182
309
+ */
310
+ public function testResolveFromIframeElement () {
311
+ $ input = '<div class="h-entry">
312
+ <h1 class="p-name">Title</h1>
313
+ <iframe src="https://example.com/index.html" class="u-url">
314
+ <p>Your browser does not support iframes.</p>
315
+ </iframe>
316
+ </div> ' ;
317
+ $ parser = new Parser ($ input , 'https://example.com ' );
318
+ $ output = $ parser ->parse ();
306
319
320
+ $ this ->assertArrayHasKey ('url ' , $ output ['items ' ][0 ]['properties ' ]);
321
+ $ this ->assertEquals ('https://example.com/index.html ' , $ output ['items ' ][0 ]['properties ' ]['url ' ][0 ]);
322
+ }
307
323
}
0 commit comments