Update WPT tests for embedded content
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / semantics / embedded-content / image-maps / image-map-processing-model / hash-name-reference.html
1 <!DOCTYPE html>
2 <meta charset="utf-8">
3 <title>parsing a hash-name reference for img and object</title>
4 <script src="/resources/testharness.js"></script>
5 <script src="/resources/testharnessreport.js"></script>
6 <style>
7  body { margin-top: 0 }
8  iframe { height: 600px; width:50px; border-top: none }
9 </style>
10
11 <div id="log"></div>
12
13 <iframe data-name="HTML (standards)" src="hash-name-reference-test-data.html?pipe=sub&amp;doctype=html"></iframe>
14 <iframe data-name="HTML (quirks)" src="hash-name-reference-test-data.html?pipe=sub&amp;doctype=quirks"></iframe>
15 <iframe data-name="XHTML" src="hash-name-reference-test-data.html?pipe=sub|header(Content-Type, application/xhtml%2Bxml)&amp;doctype=html"></iframe>
16
17 <script>
18 setup({explicit_done: true});
19
20 onload = function() {
21   var iframes = document.querySelectorAll('iframe');
22   iframes.forEach(function(iframe) {
23     var iframeName = iframe.getAttribute('data-name');
24     var doc = iframe.contentDocument;
25     var divs = doc.querySelectorAll('div[data-expect]');
26     var div, img, object;
27     for (var i = 0; i < divs.length; ++i) {
28       div = divs[i];
29       img = div.querySelector('img');
30       object = div.querySelector('object');
31       [img, object].forEach(function(elm) {
32         test(function(t) {
33           var expected = div.getAttribute('data-expect');
34           var expected_elm = expected === 'no match' ? elm : div.querySelector('area[href="#' + expected + '"]');
35           var got_elm = doc.elementFromPoint(elm.offsetLeft, elm.offsetTop);
36           assert_not_equals(expected_elm, null, 'sanity check (data-expect value wrong?)');
37           assert_not_equals(got_elm, null, 'sanity check (too many tests to fit in viewport?)');
38           assert_equals(got_elm, expected_elm);
39         }, iframeName + ' ' + elm.tagName + ' usemap=' + format_value(elm.useMap));
40       });
41     }
42   });
43   done();
44 };
45 </script>