<html>
    <head>
        <script src="../../resources/js-test-pre.js"></script>
        <script src="resources/serialized-script-value.js"></script>
    </head>
    <body>
        <script>
/*
    See LayoutTests/platform/chromium/fast/storage/serialized-script-value.js,
    upon which this test is based, for the corresponding test of the V8
    serialization format.
*/

function testSerialization(obj, values, oldFormat, serializeExceptionValue) {
    _testSerialization(1, obj, values, oldFormat, serializeExceptionValue);
}

testSerialization({foo: 'zoo', bar: {baz: 'myNewKey'}},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x61, 0x00, 0x72, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x62, 0x00, 0x61, 0x00, 0x7a, 0x00, 0x10,
    0x08, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x79, 0x00,
    0x4e, 0x00, 0x65, 0x00, 0x77, 0x00, 0x4b, 0x00,
    0x65, 0x00, 0x79, 0x00, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x61, 0x00, 0x72, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x62, 0x00, 0x61, 0x00, 0x7a, 0x00, 0x10,
    0x08, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x79, 0x00,
    0x4e, 0x00, 0x65, 0x00, 0x77, 0x00, 0x4b, 0x00,
    0x65, 0x00, 0x79, 0x00, 0xff, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff
]);

testSerialization({foo: 'zoo', bar: 'myNewKey'},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x61, 0x00, 0x72, 0x00, 0x10, 0x08, 0x00, 0x00,
    0x00, 0x6d, 0x00, 0x79, 0x00, 0x4e, 0x00, 0x65,
    0x00, 0x77, 0x00, 0x4b, 0x00, 0x65, 0x00, 0x79,
    0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x61, 0x00, 0x72, 0x00, 0x10, 0x08, 0x00, 0x00,
    0x00, 0x6d, 0x00, 0x79, 0x00, 0x4e, 0x00, 0x65,
    0x00, 0x77, 0x00, 0x4b, 0x00, 0x65, 0x00, 0x79,
    0x00, 0xff, 0xff, 0xff, 0xff
]);

testSerialization([],
[
    0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    0x00, 0xff, 0xff, 0xff, 0xff
]);
testSerialization({foo: "zoo"},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10,
    0x03, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x6f, 0x00,
    0x6f, 0x00, 0xff, 0xff, 0xff, 0xff
]);
testSerialization({foo: null},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x04,
    0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00,
    0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x04,
    0xff, 0xff, 0xff, 0xff
]);

testSerialization({},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff,
    0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff,
    0xff
]);

testSerialization(undefined,
[
    0x05, 0x00, 0x00, 0x00, 0x03
],
[
    0x03, 0x00, 0x00, 0x00, 0x03
]);
testSerialization(true,
[
    0x05, 0x00, 0x00, 0x00, 0x09
],
[
    0x03, 0x00, 0x00, 0x00, 0x09
]);
testSerialization(false,
[
    0x05, 0x00, 0x00, 0x00, 0x08
],
[
    0x03, 0x00, 0x00, 0x00, 0x08
]);
testSerialization(new Array(100),
[
    0x05, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x00,
    0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x00,
    0x00, 0xff, 0xff, 0xff, 0xff
]);
testSerialization(10,
[
    0x05, 0x00, 0x00, 0x00, 0x05, 0x0a, 0x00, 0x00,
    0x00
],
[
    0x03, 0x00, 0x00, 0x00, 0x05, 0x0a, 0x00, 0x00,
    0x00
]);
testSerialization(-10,
[
    0x05, 0x00, 0x00, 0x00, 0x05, 0xf6, 0xff, 0xff,
    0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x05, 0xf6, 0xff, 0xff,
    0xff
]);
testSerialization(Math.pow(2,30),
[
    0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
    0x40
],
[
    0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
    0x40
]);
testSerialization(Math.pow(2,55),
[
    0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x60, 0x43,
],
[
    0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x60, 0x43,
]);
testSerialization(1.23,
[
    0x05, 0x00, 0x00, 0x00, 0x0a, 0xae, 0x47, 0xe1,
    0x7a, 0x14, 0xae, 0xf3, 0x3f
],
[
    0x03, 0x00, 0x00, 0x00, 0x0a, 0xae, 0x47, 0xe1,
    0x7a, 0x14, 0xae, 0xf3, 0x3f
]);
testSerialization("",
[
    0x05, 0x00, 0x00, 0x00, 0x11
],
[
    0x03, 0x00, 0x00, 0x00, 0x11
]);
testSerialization("abc",
[
    0x05, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00
],
[
    0x03, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00
]);
testSerialization({integer: 123},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00,
    0x00, 0x69, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65,
    0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00, 0x05,
    0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00,
    0x00, 0x69, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65,
    0x00, 0x67, 0x00, 0x65, 0x00, 0x72, 0x00, 0x05,
    0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
]);
testSerialization({string: "str"},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00,
    0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69,
    0x00, 0x6e, 0x00, 0x67, 0x00, 0x10, 0x03, 0x00,
    0x00, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00,
    0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00,
    0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69,
    0x00, 0x6e, 0x00, 0x67, 0x00, 0x10, 0x03, 0x00,
    0x00, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00,
    0xff, 0xff, 0xff, 0xff
]);
testSerialization({list: [1,2,3]},
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00,
    0x00, 0x6c, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74,
    0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x05,
    0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
    0x05, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00,
    0x00, 0x6c, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74,
    0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x05,
    0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
    0x05, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
    0xff, 0xff, 0xff, 0xff, 0xff
]);
testSerialization(null,
[
    0x05, 0x00, 0x00, 0x00, 0x04
],
[
    0x03, 0x00, 0x00, 0x00, 0x04
]);
testSerialization(/abc/,
[
    0x05, 0x00, 0x00, 0x00, 0x12, 0x03, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x00,
    0x00, 0x00, 0x00
],
[
    0x03, 0x00, 0x00, 0x00, 0x12, 0x03, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x00,
    0x00, 0x00, 0x00
]);

var innerObject = {hello: "there"};
var outerObject = {inner: innerObject};
outerObject['outer'] = innerObject;
testSerialization(outerObject,
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00,
    0x00, 0x69, 0x00, 0x6e, 0x00, 0x6e, 0x00, 0x65,
    0x00, 0x72, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00,
    0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00,
    0x6f, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00, 0x74,
    0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65,
    0x00, 0xff, 0xff, 0xff, 0xff, 0x05, 0x00, 0x00,
    0x00, 0x6f, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65,
    0x00, 0x72, 0x00, 0x13, 0x01, 0xff, 0xff, 0xff,
    0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00,
    0x00, 0x69, 0x00, 0x6e, 0x00, 0x6e, 0x00, 0x65,
    0x00, 0x72, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00,
    0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00,
    0x6f, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00, 0x74,
    0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65,
    0x00, 0xff, 0xff, 0xff, 0xff, 0x05, 0x00, 0x00,
    0x00, 0x6f, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65,
    0x00, 0x72, 0x00, 0x13, 0x01, 0xff, 0xff, 0xff,
    0xff
]);
testSerialization(innerObject,
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00,
    0x00, 0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c,
    0x00, 0x6f, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00,
    0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00,
    0x65, 0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00,
    0x00, 0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c,
    0x00, 0x6f, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00,
    0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00,
    0x65, 0x00, 0xff, 0xff, 0xff, 0xff
]);

var unicodeObject = {a: 'a', u: String.fromCharCode(0x03B1,0x03B2), d: 42};
testSerialization(unicodeObject,
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x10, 0xfe, 0xff, 0xff, 0xff,
    0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x00, 0x10,
    0x02, 0x00, 0x00, 0x00, 0xb1, 0x03, 0xb2, 0x03,
    0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x05, 0x2a,
    0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x10, 0xfe, 0xff, 0xff, 0xff,
    0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x00, 0x10,
    0x02, 0x00, 0x00, 0x00, 0xb1, 0x03, 0xb2, 0x03,
    0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x05, 0x2a,
    0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
]);
unicodeObject.a = 'ab';
testSerialization(unicodeObject,
[
    0x05, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00,
    0x61, 0x00, 0x62, 0x00, 0x01, 0x00, 0x00, 0x00,
    0x75, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0xb1,
    0x03, 0xb2, 0x03, 0x01, 0x00, 0x00, 0x00, 0x64,
    0x00, 0x05, 0x2a, 0x00, 0x00, 0x00, 0xff, 0xff,
    0xff, 0xff
],
[
    0x03, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00,
    0x61, 0x00, 0x62, 0x00, 0x01, 0x00, 0x00, 0x00,
    0x75, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0xb1,
    0x03, 0xb2, 0x03, 0x01, 0x00, 0x00, 0x00, 0x64,
    0x00, 0x05, 0x2a, 0x00, 0x00, 0x00, 0xff, 0xff,
    0xff, 0xff
]);

var arrayObject = [];
arrayObject['a'] = true;
arrayObject['b'] = false;
arrayObject['foo'] = 123;
arrayObject['bar'] = 456;
arrayObject[''] = null;
testSerialization(arrayObject,
[
    0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
    0x00, 0xfd, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00,
    0x00, 0x61, 0x00, 0x09, 0x01, 0x00, 0x00, 0x00,
    0x62, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x66,
    0x00, 0x6f, 0x00, 0x6f, 0x00, 0x05, 0x7b, 0x00,
    0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x61, 0x00, 0x72, 0x00, 0x05, 0xc8, 0x01, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff,
    0xff, 0xff
]);

arrayObject[0] = 'foo';
arrayObject[1] = 'bar';
testSerialization(arrayObject,
[
    0x05, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00,
    0x00, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00,
    0x01, 0x00, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00,
    0x00, 0x62, 0x00, 0x61, 0x00, 0x72, 0x00, 0xfd,
    0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x61,
    0x00, 0x09, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00,
    0x08, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x05, 0x7b,
    0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x01,
    0x05, 0xc8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x04, 0xff, 0xff, 0xff, 0xff
]);

var mapObject = new Map;
mapObject.set(1,2)
mapObject.set(1.5, {})
mapObject.set(mapObject, "foo")
mapObject.set("bar", new String("bar"))
mapObject.expando = {};

testSerialization(mapObject,
[
    0x05, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x05, 0x02, 
    0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0xf8, 0x3f, 0x02, 0xff, 0xff, 0xff, 
    0xff, 0x13, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00, 
    0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x10, 0x03, 
    0x00, 0x00, 0x00, 0x62, 0x00, 0x61, 0x00, 0x72, 
    0x00, 0x1a, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x1f, 
    0x07, 0x00, 0x00, 0x00, 0x65, 0x00, 0x78, 0x00, 
    0x70, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 
    0x6f, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 
    0xff, 0xff, 0xff
]);

var setObject = new Set;
setObject.add(1)
setObject.add(1.5)
setObject.add(setObject)
setObject.add("bar")
setObject.add(new String("bar"))
setObject.expando = {};

testSerialization(setObject,
[
    0x05, 0x00, 0x00, 0x00, 0x1d, 0x07, 0x07, 0x0a, 0x00, 
    0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x0a, 0x00, 
    0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x13, 0x00, 
    0x13, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00, 0x62, 0x00, 
    0x61, 0x00, 0x72, 0x00, 0x10, 0xfe, 0xff, 0xff, 0xff, 
    0x00, 0x1a, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x13, 0x01, 
    0x1f, 0x07, 0x00, 0x00, 0x00, 0x65, 0x00, 0x78, 0x00, 
    0x70, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x6f, 
    0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
    0xff
]);

testSerialization(function(){}, [], null, DOMException.DATA_CLONE_ERR);

successfullyParsed = true;
        </script>
        <script src="../../resources/js-test-post.js"></script>
    </body>
</html>
