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 "" 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: undefined }).key is "undefined" PASS new StorageEvent('eventType', { key: null }).key is "null" 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: undefined }).oldValue is "undefined" PASS new StorageEvent('eventType', { oldValue: null }).oldValue is "null" 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: undefined }).newValue is "undefined" PASS new StorageEvent('eventType', { newValue: null }).newValue is "null" 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: undefined }).url is "undefined" PASS new StorageEvent('eventType', { url: null }).url is "null" 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', { storageArea: localStorage }).storageArea is localStorage PASS new StorageEvent('eventType', { storageArea: sessionStorage }).storageArea is sessionStorage PASS new StorageEvent('eventType', { storageArea: test_object }).storageArea is null PASS new StorageEvent('eventType', { storageArea: window }).storageArea is null PASS new StorageEvent('eventType', { storageArea: document }).storageArea is null 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 is null PASS new StorageEvent('eventType', { storageArea: true }).storageArea is null PASS new StorageEvent('eventType', { storageArea: '' }).storageArea is null PASS new StorageEvent('eventType', { storageArea: 'chocolate' }).storageArea is null PASS new StorageEvent('eventType', { storageArea: 12345 }).storageArea is null PASS new StorageEvent('eventType', { storageArea: 18446744073709551615 }).storageArea is null PASS new StorageEvent('eventType', { storageArea: NaN }).storageArea is null PASS new StorageEvent('eventType', { storageArea: {valueOf: function () { return window; } } }).storageArea == window is false PASS new StorageEvent('eventType', { get storageArea() { return 123; } }).storageArea is null 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