js/src/jit-test/tests/ion/bug761854.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/ion/bug761854.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,57 @@
     1.4 +var gTestcases = new Array();
     1.5 +function TestCase(n, d, e, a) {
     1.6 +  this.name = n;
     1.7 +  this.description = d;
     1.8 +  this.expect = e;
     1.9 +  this.actual = a;
    1.10 +  this.passed = getTestCaseResult(e, a);
    1.11 +  options.stackvalues = [];
    1.12 +function getTestCaseResult(expected, actual) { }
    1.13 +}
    1.14 +var lfcode = new Array();
    1.15 +lfcode.push("3");
    1.16 +lfcode.push("var statusitems = [];\
    1.17 +var actualvalues = [];\
    1.18 +var expectedvalues = [];\
    1.19 +actual = '$a$^'.replace(/\\$\\^/, '--');\
    1.20 +actual = 'ababc'.replace(/abc/, '--');\
    1.21 +actual = 'ababc'.replace(/abc/g, '--');\
    1.22 +");
    1.23 +lfcode.push("\
    1.24 +var SECTION = \"15.4.4.3-1\";\
    1.25 +new TestCase( SECTION, \"Array.prototype.join.length\",           1,      Array.prototype.join.length );\
    1.26 +new TestCase( SECTION, \"delete Array.prototype.join.length\",    false,  delete Array.prototype.join.length );\
    1.27 +new TestCase( SECTION, \"delete Array.prototype.join.length; Array.prototype.join.length\",    1, eval(\"delete Array.prototype.join.length; Array.prototype.join.length\") );\
    1.28 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(); TEST_ARRAY.join()\") );\
    1.29 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(); TEST_ARRAY.join(' ')\") );\
    1.30 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('&')\") );\
    1.31 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join('')\") );\
    1.32 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join(void 0)\") );\
    1.33 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(null, void 0, true, false, 123, new Object(), new Boolean(true) ); TEST_ARRAY.join()\") );\
    1.34 +new TestCase(   SECTION, eval(\"var TEST_ARRAY = new Array(true); TEST_ARRAY.join('\\v')\") );\
    1.35 +SEPARATOR = \"\\t\";\
    1.36 +new TestCase( SECTION,TEST_ARRAY.join( SEPARATOR ) );\
    1.37 +");
    1.38 +lfcode.push("new TestCase( assertEq,   \"String.prototype.toString()\",        \"\",     String.prototype.toString() );\
    1.39 +new TestCase( SECTION,   \"(new String()).toString()\",          \"\",     (new String()).toString() );\
    1.40 +new TestCase( SECTION,   \"(new String(\\\"\\\")).toString()\",      \"\",     (new String(\"\")).toString() );\
    1.41 +new TestCase( SECTION,   \"(new String( String() )).toString()\",\"\",    (new String(String())).toString() );\
    1.42 +gczeal(4);\
    1.43 +new TestCase( SECTION,   \"(new String( 0 )).toString()\",       \"0\",    (new String((1))).toString() );\
    1.44 +");
    1.45 +while (true) {
    1.46 +	var file = lfcode.shift(); if (file == undefined) { break; }
    1.47 +                loadFile(file);
    1.48 +}
    1.49 +function loadFile(lfVarx) {
    1.50 +	try {
    1.51 +		if (lfVarx.substr(-3) == ".js") {
    1.52 +		} else if (!isNaN(lfVarx)) {
    1.53 +			lfRunTypeId = lfVarx;
    1.54 +		} else {
    1.55 +			switch (lfRunTypeId) {
    1.56 +				default: evaluate(lfVarx);
    1.57 +			}
    1.58 +		}
    1.59 +	} catch (lfVare) {}
    1.60 +}

mercurial