diff options
Diffstat (limited to 'js/src/tests/non262/extensions/clone-simple.js')
-rw-r--r-- | js/src/tests/non262/extensions/clone-simple.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/non262/extensions/clone-simple.js b/js/src/tests/non262/extensions/clone-simple.js new file mode 100644 index 0000000000..b7684dd02a --- /dev/null +++ b/js/src/tests/non262/extensions/clone-simple.js @@ -0,0 +1,33 @@ +// |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'); |