// |reftest| skip-if(!xulRuntime.shell) // -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ function testEq(b) { var a = deserialize(serialize(b)); assertEq(a, b); } testEq(void 0); testEq(null); testEq(true); testEq(false); testEq(0); testEq(-0); testEq(1/0); testEq(-1/0); testEq(0/0); testEq(Math.PI); testEq(""); testEq("\0"); testEq("a"); // unit string testEq("ab"); // length-2 string testEq("abc\0123\r\n"); // nested null character testEq("\xff\x7f\u7fff\uffff\ufeff\ufffe"); // random unicode stuff testEq("\ud800 \udbff \udc00 \udfff"); // busted surrogate pairs testEq(Array(1024).join(Array(1024).join("x"))); // 2MB string reportCompare(0, 0, 'ok');