Tests that Object.getOwnPropertyDescriptor() works correctly for [Unforgeable] IDL attributes. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". * Document.location PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Document.location getter can only be used on instances of Document. PASS descriptor.get.call(document) is document.location * Location.href PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.href getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.href is true * Location.protocol PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.protocol getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.protocol is true * Location.host PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.host getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.host is true * Location.hostname PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.hostname getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.hostname is true * Location.port PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.port getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.port is true * Location.pathname PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.pathname getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.pathname is true * Location.search PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.search getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.search is true * Location.hash PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.hash getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.hash is true * Location.origin PASS descriptor.get is an instance of Function PASS descriptor.set is undefined. PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.origin getter can only be used on instances of Location. PASS descriptor.get.call(document.location) === document.location.origin is true * Location.ancestorOrigins PASS descriptor.get is an instance of Function PASS descriptor.set is undefined. PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Location.ancestorOrigins getter can only be used on instances of Location. * Window.location PASS descriptor.get is an instance of Function PASS descriptor.set is an instance of Function PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.location getter can only be used on instances of Window. PASS descriptor.get.call(window) === window.location is true * Window.window PASS descriptor.get is an instance of Function PASS descriptor.set is undefined. PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.window getter can only be used on instances of Window. PASS descriptor.get.call(window) === window.window is true * Window.top PASS descriptor.get is an instance of Function PASS descriptor.set is undefined. PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.top getter can only be used on instances of Window. PASS descriptor.get.call(window) === window.top is true * Window.document PASS descriptor.get is an instance of Function PASS descriptor.set is undefined. PASS descriptor.enumerable is true PASS descriptor.configurable is false PASS descriptor.get.call(invalidObject) threw exception TypeError: The Window.document getter can only be used on instances of Window. PASS successfullyParsed is true TEST COMPLETE