clone-simple.js (813B)
1 // |reftest| skip-if(!xulRuntime.shell) 2 // -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- 3 // Any copyright is dedicated to the Public Domain. 4 // http://creativecommons.org/licenses/publicdomain/ 5 6 function testEq(b) { 7 var a = deserialize(serialize(b)); 8 assertEq(a, b); 9 } 10 11 testEq(void 0); 12 testEq(null); 13 14 testEq(true); 15 testEq(false); 16 17 testEq(0); 18 testEq(-0); 19 testEq(1/0); 20 testEq(-1/0); 21 testEq(0/0); 22 testEq(Math.PI); 23 24 testEq(""); 25 testEq("\0"); 26 testEq("a"); // unit string 27 testEq("ab"); // length-2 string 28 testEq("abc\0123\r\n"); // nested null character 29 testEq("\xff\x7f\u7fff\uffff\ufeff\ufffe"); // random unicode stuff 30 testEq("\ud800 \udbff \udc00 \udfff"); // busted surrogate pairs 31 testEq(Array(1024).join(Array(1024).join("x"))); // 2MB string 32 33 reportCompare(0, 0, 'ok');