| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>Interface objects</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| test(function () { | |
| assert_equals(typeof window.Blob, "function") | |
| delete window.Blob; | |
| assert_equals(window.Blob, undefined); | |
| }, "An interface object deleted after it has been accessed is undefined"); | |
| test(function () { | |
| delete window.File; | |
| assert_equals(window.File, undefined); | |
| }, "An interface object deleted before it has been defined is undefined"); | |
| test(function () { | |
| delete window.ImageData; | |
| assert_equals(Object.getOwnPropertyDescriptor(window, "ImageData"), undefined); | |
| delete window.ImageData; | |
| assert_equals(Object.getOwnPropertyDescriptor(window, "ImageData"), undefined); | |
| }, "Interface objects deleted multiple times stay deleted"); | |
| test(function () { | |
| assert_equals(window["abc\udc88"], undefined); | |
| }, "Fancy property names don't break the resolve hook on Window"); | |
| </script> |