CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/. Deserialize to {"foo":"zoo","bar":{"baz":"myNewKey"}}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":"zoo","bar":{"baz":"myNewKey"}}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"foo":"zoo","bar":{"baz":"myNewKey"}}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":"zoo","bar":{"baz":"myNewKey"}}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"foo":"zoo","bar":"myNewKey"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":"zoo","bar":"myNewKey"}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"foo":"zoo","bar":"myNewKey"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":"zoo","bar":"myNewKey"}: PASS bufferView.length is expectedBufferValues.length Deserialize to []: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize []: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to []: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize []: PASS bufferView.length is expectedBufferValues.length Deserialize to {"foo":"zoo"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":"zoo"}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"foo":null}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"foo":null}: PASS bufferView.length is expectedBufferValues.length Deserialize to {}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {}: PASS bufferView.length is expectedBufferValues.length Deserialize to undefined: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize undefined: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to undefined: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize undefined: PASS bufferView.length is expectedBufferValues.length Deserialize to true: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize true: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to true: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize true: PASS bufferView.length is expectedBufferValues.length Deserialize to false: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize false: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to false: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize false: PASS bufferView.length is expectedBufferValues.length Deserialize to 10: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 10: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 10: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 10: PASS bufferView.length is expectedBufferValues.length Deserialize to -10: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize -10: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to -10: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize -10: PASS bufferView.length is expectedBufferValues.length Deserialize to 1073741824: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 1073741824: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 1073741824: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 1073741824: PASS bufferView.length is expectedBufferValues.length Deserialize to 36028797018963970: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 36028797018963970: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 36028797018963970: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 36028797018963970: PASS bufferView.length is expectedBufferValues.length Deserialize to 1.23: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 1.23: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 1.23: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 1.23: PASS bufferView.length is expectedBufferValues.length Deserialize to 2147483647: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 2147483647: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 2147483647: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 2147483647: PASS bufferView.length is expectedBufferValues.length Deserialize to -2147483648: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize -2147483648: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to -2147483648: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize -2147483648: PASS bufferView.length is expectedBufferValues.length Deserialize to 2147483648: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 2147483648: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 2147483648: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 2147483648: PASS bufferView.length is expectedBufferValues.length Deserialize to 4294967295: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 4294967295: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to 4294967295: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize 4294967295: PASS bufferView.length is expectedBufferValues.length Deserialize to "": PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize "": PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to "": PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize "": PASS bufferView.length is expectedBufferValues.length Deserialize to "abc": PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize "abc": PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to "abc": PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize "abc": PASS bufferView.length is expectedBufferValues.length Deserialize to {"integer":123}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"integer":123}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"integer":123}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"integer":123}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"string":"str"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"string":"str"}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"string":"str"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"string":"str"}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"list":[1,2,3]}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"list":[1,2,3]}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"list":[1,2,3]}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"list":[1,2,3]}: PASS bufferView.length is expectedBufferValues.length Deserialize to null: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize null: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to null: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize null: PASS bufferView.length is expectedBufferValues.length Deserialize to {}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"inner":{"hello":"there"},"outer":{"hello":"there"}}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"inner":{"hello":"there"},"outer":{"hello":"there"}}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"inner":{"hello":"there"},"outer":{"hello":"there"}}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"inner":{"hello":"there"},"outer":{"hello":"there"}}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"hello":"there"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"hello":"there"}: PASS bufferView.length is expectedBufferValues.length Backwards compatibility with version 3 serialization. Deserialize to {"hello":"there"}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"hello":"there"}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"a":"a","u":"αβ","d":42}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"a":"a","u":"αβ","d":42}: PASS bufferView.length is expectedBufferValues.length Deserialize to {"a":"ab","u":"αβ","d":42}: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize {"a":"ab","u":"αβ","d":42}: PASS bufferView.length is expectedBufferValues.length Deserialize to []: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize []: PASS bufferView.length is expectedBufferValues.length Deserialize to ["foo","bar"]: PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true PASS JSON.stringify(newObj) is JSON.stringify(obj) PASS areValuesIdentical(newObj, obj) is true Serialize ["foo","bar"]: PASS bufferView.length is expectedBufferValues.length Serialize undefined: PASS thrownException.code is expectedException PASS areValuesIdentical(blobObj1, blobObj2) is true PASS areValuesIdentical(dictionaryWithBlob1, dictionaryWithBlob2) is true PASS self.blobContent1 is self.blobContent2 Files created using the File constructor PASS areValuesIdentical(fileObj1, fileObj2) is true PASS areValuesIdentical(dictionaryWithFile1, dictionaryWithFile2) is true PASS self.fileContents1 is self.fileContents2 Files selected by the user in an PASS areValuesIdentical(fileObj1, fileObj2) is true PASS areValuesIdentical(dictionaryWithFile1, dictionaryWithFile2) is true PASS self.fileContents1 is self.fileContents2 PASS successfullyParsed is true TEST COMPLETE