Tests for ObservableArray's [[DefineOwnProperty]]

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


PASS document.adoptedStyleSheets.length is 2
Object.defineProperty(document.adoptedStyleSheets , 'length', { value: 1 })
PASS document.adoptedStyleSheets.length is 1
PASS document.adoptedStyleSheets[0] is sheet1
PASS document.adoptedStyleSheets[1] is undefined.
Object.defineProperty(document.adoptedStyleSheets , 1, { value: sheet2 })
PASS document.adoptedStyleSheets.length is 2
PASS document.adoptedStyleSheets[0] is sheet1
PASS document.adoptedStyleSheets[1] is sheet2
PASS document.adoptedStyleSheets[2] is undefined.
Object.defineProperty(document.adoptedStyleSheets , 2, { value: sheet3, configurable: true, enumerable: true, writable: true })
PASS document.adoptedStyleSheets.length is 3
PASS document.adoptedStyleSheets[0] is sheet1
PASS document.adoptedStyleSheets[1] is sheet2
PASS document.adoptedStyleSheets[2] is sheet3
PASS document.adoptedStyleSheets[3] is undefined.
Object.defineProperty(document.adoptedStyleSheets , 'length', { value: 2, configurable: false, enumerable: false, writable: true })
PASS document.adoptedStyleSheets.length is 2
PASS document.adoptedStyleSheets[0] is sheet1
PASS document.adoptedStyleSheets[1] is sheet2
PASS document.adoptedStyleSheets[2] is undefined.
PASS Object.defineProperty(document.adoptedStyleSheets , 'length', { }) did not throw exception.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 3, { }) did not throw exception.
PASS document.adoptedStyleSheets.length is 2

* Error cases
PASS Object.defineProperty(document.adoptedStyleSheets , 'length', { value: 1, configurable: true }) threw exception TypeError: 'length' property must be not configurable.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 'length', { value: 1, enumerable: true }) threw exception TypeError: 'length' property must be not enumerable.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 'length', { value: 1, writable: false }) threw exception TypeError: 'length' property must be writable.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 2, { value: sheet3, configurable: false }) threw exception TypeError: Indexed property must be configurable.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 2, { value: sheet3, enumerable: false }) threw exception TypeError: Indexed property must be enumerable.
PASS document.adoptedStyleSheets.length is 2
PASS Object.defineProperty(document.adoptedStyleSheets , 2, { value: sheet3, writable: false }) threw exception TypeError: Indexed property must be writable.
PASS document.adoptedStyleSheets.length is 2
PASS successfullyParsed is true

TEST COMPLETE

