| <!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> |