| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>instanceof behavior</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <iframe></iframe> | |
| <script> | |
| test(function() { | |
| var obj = Object.create(Element.prototype); | |
| assert_true(obj instanceof Element); | |
| assert_true(obj instanceof Node); | |
| assert_false(obj instanceof Attr); | |
| }, "Manually-constructed prototype chains are correctly handled by instanceof"); | |
| test(() => { | |
| // This tests that the historical override of [[HasInstance]] was removed: | |
| // https://github.com/heycam/webidl/pull/356 | |
| assert_false(document.body instanceof frames[0].Element); | |
| }, "instanceof must return false across different globals, for platform objects"); | |
| test(() => { | |
| assert_false(EventTarget.hasOwnProperty(Symbol.hasInstance)); | |
| }, "platform objects do not have Symbol.hasInstance installed"); | |
| </script> |