Test to ensure that global constructors have the right attributes

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').value is CSSRuleList
PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'CSSRuleList').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'Document').value is Document
PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'Document').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'Document').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'Element').value is Element
PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').value is HTMLDivElement
PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'HTMLDivElement').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').value is ProgressEvent
PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'ProgressEvent').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'Selection').value is Selection
PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'Selection').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'Selection').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'Selection').configurable is true
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').value is XMLHttpRequest
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').configurable is true
PASS successfullyParsed is true

TEST COMPLETE

