This tests the constructor for the StorageEvent DOM class. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS new StorageEvent('eventType').bubbles is false PASS new StorageEvent('eventType').cancelable is false PASS new StorageEvent('eventType').key is null PASS new StorageEvent('eventType').oldValue is null PASS new StorageEvent('eventType').newValue is null PASS new StorageEvent('eventType').url is "" PASS new StorageEvent('eventType').storageArea is null PASS new StorageEvent('eventType', { bubbles: false }).bubbles is false PASS new StorageEvent('eventType', { bubbles: true }).bubbles is true PASS new StorageEvent('eventType', { cancelable: false }).cancelable is false PASS new StorageEvent('eventType', { cancelable: true }).cancelable is true PASS new StorageEvent('eventType', { key: 'abcde' }).key is "abcde" PASS new StorageEvent('eventType', { key: '' }).key is "" PASS new StorageEvent('eventType', { key: false }).key is "false" PASS new StorageEvent('eventType', { key: true }).key is "true" PASS new StorageEvent('eventType', { key: 12345 }).key is "12345" PASS new StorageEvent('eventType', { key: 18446744073709551615 }).key is "18446744073709552000" PASS new StorageEvent('eventType', { key: NaN }).key is "NaN" PASS new StorageEvent('eventType', { key: [] }).key is "" PASS new StorageEvent('eventType', { key: [1, 2, 3] }).key is "1,2,3" PASS new StorageEvent('eventType', { key: {abcde: 12345} }).key is "[object Object]" PASS new StorageEvent('eventType', { key: {valueOf: function () { return 'abcde'; } } }).key is "[object Object]" PASS new StorageEvent('eventType', { oldValue: 'abcde' }).oldValue is "abcde" PASS new StorageEvent('eventType', { oldValue: '' }).oldValue is "" PASS new StorageEvent('eventType', { oldValue: false }).oldValue is "false" PASS new StorageEvent('eventType', { oldValue: true }).oldValue is "true" PASS new StorageEvent('eventType', { oldValue: 12345 }).oldValue is "12345" PASS new StorageEvent('eventType', { oldValue: 18446744073709551615 }).oldValue is "18446744073709552000" PASS new StorageEvent('eventType', { oldValue: NaN }).oldValue is "NaN" PASS new StorageEvent('eventType', { oldValue: [] }).oldValue is "" PASS new StorageEvent('eventType', { oldValue: [1, 2, 3] }).oldValue is "1,2,3" PASS new StorageEvent('eventType', { oldValue: {abcde: 12345} }).oldValue is "[object Object]" PASS new StorageEvent('eventType', { oldValue: {valueOf: function () { return 'abcde'; } } }).oldValue is "[object Object]" PASS new StorageEvent('eventType', { newValue: 'abcde' }).newValue is "abcde" PASS new StorageEvent('eventType', { newValue: '' }).newValue is "" PASS new StorageEvent('eventType', { newValue: false }).newValue is "false" PASS new StorageEvent('eventType', { newValue: true }).newValue is "true" PASS new StorageEvent('eventType', { newValue: 12345 }).newValue is "12345" PASS new StorageEvent('eventType', { newValue: 18446744073709551615 }).newValue is "18446744073709552000" PASS new StorageEvent('eventType', { newValue: NaN }).newValue is "NaN" PASS new StorageEvent('eventType', { newValue: [] }).newValue is "" PASS new StorageEvent('eventType', { newValue: [1, 2, 3] }).newValue is "1,2,3" PASS new StorageEvent('eventType', { newValue: {abcde: 12345} }).newValue is "[object Object]" PASS new StorageEvent('eventType', { newValue: {valueOf: function () { return 'abcde'; } } }).newValue is "[object Object]" PASS new StorageEvent('eventType', { url: 'abcde' }).url is "abcde" PASS new StorageEvent('eventType', { url: '' }).url is "" PASS new StorageEvent('eventType', { url: false }).url is "false" PASS new StorageEvent('eventType', { url: true }).url is "true" PASS new StorageEvent('eventType', { url: 12345 }).url is "12345" PASS new StorageEvent('eventType', { url: 18446744073709551615 }).url is "18446744073709552000" PASS new StorageEvent('eventType', { url: NaN }).url is "NaN" PASS new StorageEvent('eventType', { url: [] }).url is "" PASS new StorageEvent('eventType', { url: [1, 2, 3] }).url is "1,2,3" PASS new StorageEvent('eventType', { url: {abcde: 12345} }).url is "[object Object]" PASS new StorageEvent('eventType', { url: {valueOf: function () { return 'abcde'; } } }).url is "[object Object]" PASS new StorageEvent('eventType', { key: undefined }).key is null PASS new StorageEvent('eventType', { key: null }).key is null PASS new StorageEvent('eventType', { oldValue: undefined }).oldValue is null PASS new StorageEvent('eventType', { oldValue: null }).oldValue is null PASS new StorageEvent('eventType', { newValue: undefined }).newValue is null PASS new StorageEvent('eventType', { newValue: null }).newValue is null PASS new StorageEvent('eventType', { url: undefined }).url is "" PASS new StorageEvent('eventType', { url: null }).url is "null" PASS new StorageEvent('eventType', { storageArea: localStorage }).storageArea is localStorage PASS new StorageEvent('eventType', { storageArea: sessionStorage }).storageArea is sessionStorage PASS new StorageEvent('eventType', { storageArea: test_object }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: window }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: document }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: undefined }).storageArea is null PASS new StorageEvent('eventType', { storageArea: null }).storageArea is null PASS new StorageEvent('eventType', { storageArea: false }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: true }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: '' }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: 'chocolate' }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: 12345 }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: 18446744073709551615 }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: NaN }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { storageArea: {valueOf: function () { return window; } } }).storageArea == window threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { get storageArea() { return localStorage; } }).storageArea is localStorage PASS new StorageEvent('eventType', { get storageArea() { return 123; } }).storageArea threw exception TypeError: Failed to construct 'StorageEvent': Failed to read the 'storageArea' property from 'StorageEventInit': Failed to convert value to 'Storage'.. PASS new StorageEvent('eventType', { get storageArea() { throw 'StorageEvent Error'; } }) threw exception StorageEvent Error. PASS new StorageEvent('eventType', { bubbles: true, cancelable: false, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).bubbles is true PASS new StorageEvent('eventType', { bubbles: false, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).cancelable is true PASS new StorageEvent('eventType', { bubbles: true, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).key is "abc" PASS new StorageEvent('eventType', { bubbles: true, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).oldValue is "def" PASS new StorageEvent('eventType', { bubbles: true, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).newValue is "ghi" PASS new StorageEvent('eventType', { bubbles: true, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).url is "jkl" PASS new StorageEvent('eventType', { bubbles: true, cancelable: true, key: 'abc', oldValue: 'def', newValue: 'ghi', url: 'jkl', storageArea: localStorage }).storageArea is localStorage PASS successfullyParsed is true TEST COMPLETE