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 Function.prototype 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: Illegal constructor. PASS Element.toString() is "function Element() {\n [native code]\n}" PASS object.toString.call(Element) is "[object Function]" PASS successfullyParsed is true TEST COMPLETE