This test checks that object literals are serialized properly. It's needed in part because JavaScriptCore converts numeric property names to string and back. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS compileAndSerialize('a = { 1: null }') is 'a = { 1: null }' PASS compileAndSerialize('a = { 0: null }') is 'a = { 0: null }' PASS compileAndSerialize('a = { 1.0: null }') is 'a = { 1.0: null }' PASS compileAndSerialize('a = { "1.0": null }') is 'a = { "1.0": null }' PASS compileAndSerialize('a = { 1e-500: null }') is 'a = { 1e-500: null }' PASS compileAndSerialize('a = { 1e-300: null }') is 'a = { 1e-300: null }' PASS compileAndSerialize('a = { 1e300: null }') is 'a = { 1e300: null }' PASS compileAndSerialize('a = { 1e500: null }') is 'a = { 1e500: null }' PASS compileAndSerialize('a = { NaN: null }') is 'a = { NaN: null }' PASS compileAndSerialize('a = { Infinity: null }') is 'a = { Infinity: null }' PASS compileAndSerialize('a = { "1": null }') is 'a = { "1": null }' PASS compileAndSerialize('a = { "1hi": null }') is 'a = { "1hi": null }' PASS compileAndSerialize('a = { "\'": null }') is 'a = { "\'": null }' PASS compileAndSerialize('a = { "\\"": null }') is 'a = { "\\"": null }' PASS compileAndSerialize('a = { get x() { } }') is 'a = { get x() { } }' PASS compileAndSerialize('a = { set x(y) { } }') is 'a = { set x(y) { } }' PASS compileAndSerialize('a = { --1: null }') threw exception SyntaxError: Parse error. PASS compileAndSerialize('a = { -NaN: null }') threw exception SyntaxError: Parse error. PASS compileAndSerialize('a = { -0: null }') threw exception SyntaxError: Parse error. PASS compileAndSerialize('a = { -0.0: null }') threw exception SyntaxError: Parse error. PASS compileAndSerialize('a = { -Infinity: null }') threw exception SyntaxError: Parse error. PASS successfullyParsed is true TEST COMPLETE