Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / imported / web-platform-tests / html / semantics / interfaces.html
blob37b96d22002e7c48088d9f286d3ab6912d527f65
1 <!DOCTYPE html>
2 <title>Test of interfaces</title>
3 <link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
4 <link rel="help" href="https://html.spec.whatwg.org/multipage/">
5 <link rel="help" href="https://heycam.github.io/webidl/#host-objects">
6 <link rel="help" href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf#page=96">
7 <script src="../../../../resources/testharness.js"></script>
8 <script src="../../../../resources/testharnessreport.js"></script>
9 <script src=interfaces.js></script>
10 <div id="log"></div>
11 <script>
12 function do_test(local_name, iface) {
13 test(function() {
14 var e = document.createElement(local_name), i = "HTML" + iface + "Element";
15 assert_class_string(e, i,
16 "Element " + local_name + " should have " + i +
17 " as its primary interface.");
18 assert_true(e instanceof window[i],
19 "Element " + local_name + " should implement " + i + ".");
20 assert_true(e instanceof HTMLElement,
21 "Element " + local_name + " should implement HTMLElement.");
22 assert_true(e instanceof Element,
23 "Element " + local_name + " should implement Element.");
24 assert_true(e instanceof Node,
25 "Element " + local_name + " should implement Node.");
26 }, "Interfaces for " + local_name);
29 elements.forEach(function(a) {
30 do_test(a[0], a[1]);
31 do_test(a[0].toUpperCase(), a[1]);
33 </script>