| Tests that interfaces objects have the right type |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| * Interface with constructor |
| PASS window.Event instanceof Function is true |
| PASS typeof Event is "function" |
| PASS Object.getPrototypeOf(Event) is Function.prototype |
| PASS Event('click') threw exception TypeError: Constructor requires 'new' operator. |
| PASS Event.call('click') threw exception TypeError: Constructor requires 'new' operator. |
| PASS new Event('click') did not throw exception. |
| PASS Event.toString() is "function Event() {\n [native code]\n}" |
| PASS object.toString.call(Event) is "[object Function]" |
| |
| * Interface with named constructor |
| PASS window.Audio instanceof Function is true |
| PASS typeof Audio is "function" |
| PASS Object.getPrototypeOf(Audio) is HTMLMediaElement |
| PASS Audio() threw exception TypeError: Constructor requires 'new' operator. |
| PASS Audio.call() threw exception TypeError: Constructor requires 'new' operator. |
| PASS new Audio() did not throw exception. |
| PASS Audio.toString() is "function Audio() {\n [native code]\n}" |
| PASS object.toString.call(Audio) is "[object Function]" |
| |
| * Interface without constructor |
| PASS window.Element instanceof Function is true |
| PASS typeof Element is "function" |
| PASS Object.getPrototypeOf(Element) is Node |
| PASS Element() threw exception TypeError: Illegal constructor. |
| PASS Element.call() threw exception TypeError: Illegal constructor. |
| PASS new Element() threw exception TypeError: function is not a constructor (evaluating 'new Element()'). |
| PASS Element.toString() is "function Element() {\n [native code]\n}" |
| PASS object.toString.call(Element) is "[object Function]" |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |