1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/ecma/Boolean/15.6.2.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,127 @@ 1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 + 1.10 +/** 1.11 + File Name: 15.6.2.js 1.12 + ECMA Section: 15.6.2 The Boolean Constructor 1.13 + 15.6.2.1 new Boolean( value ) 1.14 + 15.6.2.2 new Boolean() 1.15 + 1.16 + This test verifies that the Boolean constructor 1.17 + initializes a new object (typeof should return 1.18 + "object"). The prototype of the new object should 1.19 + be Boolean.prototype. The value of the object 1.20 + should be ToBoolean( value ) (a boolean value). 1.21 + 1.22 + Description: 1.23 + Author: christine@netscape.com 1.24 + Date: june 27, 1997 1.25 + 1.26 +*/ 1.27 +var SECTION = "15.6.2"; 1.28 +var VERSION = "ECMA_1"; 1.29 +startTest(); 1.30 +var TITLE = "15.6.2 The Boolean Constructor; 15.6.2.1 new Boolean( value ); 15.6.2.2 new Boolean()"; 1.31 + 1.32 +writeHeaderToLog( SECTION + " "+ TITLE); 1.33 + 1.34 +var array = new Array(); 1.35 +var item = 0; 1.36 + 1.37 +new TestCase( SECTION, "typeof (new Boolean(1))", "object", typeof (new Boolean(1)) ); 1.38 +new TestCase( SECTION, "(new Boolean(1)).constructor", Boolean.prototype.constructor, (new Boolean(1)).constructor ); 1.39 +new TestCase( SECTION, 1.40 + "TESTBOOL=new Boolean(1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.41 + "[object Boolean]", 1.42 + eval("TESTBOOL=new Boolean(1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.43 +new TestCase( SECTION, "(new Boolean(1)).valueOf()", true, (new Boolean(1)).valueOf() ); 1.44 +new TestCase( SECTION, "typeof new Boolean(1)", "object", typeof new Boolean(1) ); 1.45 +new TestCase( SECTION, "(new Boolean(0)).constructor", Boolean.prototype.constructor, (new Boolean(0)).constructor ); 1.46 +new TestCase( SECTION, 1.47 + "TESTBOOL=new Boolean(0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.48 + "[object Boolean]", 1.49 + eval("TESTBOOL=new Boolean(0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.50 +new TestCase( SECTION, "(new Boolean(0)).valueOf()", false, (new Boolean(0)).valueOf() ); 1.51 +new TestCase( SECTION, "typeof new Boolean(0)", "object", typeof new Boolean(0) ); 1.52 +new TestCase( SECTION, "(new Boolean(-1)).constructor", Boolean.prototype.constructor, (new Boolean(-1)).constructor ); 1.53 +new TestCase( SECTION, 1.54 + "TESTBOOL=new Boolean(-1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.55 + "[object Boolean]", 1.56 + eval("TESTBOOL=new Boolean(-1);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.57 +new TestCase( SECTION, "(new Boolean(-1)).valueOf()", true, (new Boolean(-1)).valueOf() ); 1.58 +new TestCase( SECTION, "typeof new Boolean(-1)", "object", typeof new Boolean(-1) ); 1.59 +new TestCase( SECTION, "(new Boolean('1')).constructor", Boolean.prototype.constructor, (new Boolean('1')).constructor ); 1.60 +new TestCase( SECTION, 1.61 + "TESTBOOL=new Boolean('1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.62 + "[object Boolean]", 1.63 + eval("TESTBOOL=new Boolean('1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.64 +new TestCase( SECTION, "(new Boolean('1')).valueOf()", true, (new Boolean('1')).valueOf() ); 1.65 +new TestCase( SECTION, "typeof new Boolean('1')", "object", typeof new Boolean('1') ); 1.66 +new TestCase( SECTION, "(new Boolean('0')).constructor", Boolean.prototype.constructor, (new Boolean('0')).constructor ); 1.67 +new TestCase( SECTION, 1.68 + "TESTBOOL=new Boolean('0');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.69 + "[object Boolean]", 1.70 + eval("TESTBOOL=new Boolean('0');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.71 +new TestCase( SECTION, "(new Boolean('0')).valueOf()", true, (new Boolean('0')).valueOf() ); 1.72 +new TestCase( SECTION, "typeof new Boolean('0')", "object", typeof new Boolean('0') ); 1.73 +new TestCase( SECTION, "(new Boolean('-1')).constructor", Boolean.prototype.constructor, (new Boolean('-1')).constructor ); 1.74 +new TestCase( SECTION, 1.75 + "TESTBOOL=new Boolean('-1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.76 + "[object Boolean]", 1.77 + eval("TESTBOOL=new Boolean('-1');TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.78 +new TestCase( SECTION, "(new Boolean('-1')).valueOf()", true, (new Boolean('-1')).valueOf() ); 1.79 +new TestCase( SECTION, "typeof new Boolean('-1')", "object", typeof new Boolean('-1') ); 1.80 +new TestCase( SECTION, "(new Boolean(new Boolean(true))).constructor", Boolean.prototype.constructor, (new Boolean(new Boolean(true))).constructor ); 1.81 +new TestCase( SECTION, 1.82 + "TESTBOOL=new Boolean(new Boolean(true));TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.83 + "[object Boolean]", 1.84 + eval("TESTBOOL=new Boolean(new Boolean(true));TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.85 +new TestCase( SECTION, "(new Boolean(new Boolean(true))).valueOf()", true, (new Boolean(new Boolean(true))).valueOf() ); 1.86 +new TestCase( SECTION, "typeof new Boolean(new Boolean(true))", "object", typeof new Boolean(new Boolean(true)) ); 1.87 +new TestCase( SECTION, "(new Boolean(Number.NaN)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NaN)).constructor ); 1.88 +new TestCase( SECTION, 1.89 + "TESTBOOL=new Boolean(Number.NaN);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.90 + "[object Boolean]", 1.91 + eval("TESTBOOL=new Boolean(Number.NaN);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.92 +new TestCase( SECTION, "(new Boolean(Number.NaN)).valueOf()", false, (new Boolean(Number.NaN)).valueOf() ); 1.93 +new TestCase( SECTION, "typeof new Boolean(Number.NaN)", "object", typeof new Boolean(Number.NaN) ); 1.94 +new TestCase( SECTION, "(new Boolean(null)).constructor", Boolean.prototype.constructor, (new Boolean(null)).constructor ); 1.95 +new TestCase( SECTION, 1.96 + "TESTBOOL=new Boolean(null);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.97 + "[object Boolean]", 1.98 + eval("TESTBOOL=new Boolean(null);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.99 +new TestCase( SECTION, "(new Boolean(null)).valueOf()", false, (new Boolean(null)).valueOf() ); 1.100 +new TestCase( SECTION, "typeof new Boolean(null)", "object", typeof new Boolean(null) ); 1.101 +new TestCase( SECTION, "(new Boolean(void 0)).constructor", Boolean.prototype.constructor, (new Boolean(void 0)).constructor ); 1.102 +new TestCase( SECTION, 1.103 + "TESTBOOL=new Boolean(void 0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.104 + "[object Boolean]", 1.105 + eval("TESTBOOL=new Boolean(void 0);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.106 +new TestCase( SECTION, "(new Boolean(void 0)).valueOf()", false, (new Boolean(void 0)).valueOf() ); 1.107 +new TestCase( SECTION, "typeof new Boolean(void 0)", "object", typeof new Boolean(void 0) ); 1.108 +new TestCase( SECTION, "(new Boolean(Number.POSITIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.POSITIVE_INFINITY)).constructor ); 1.109 +new TestCase( SECTION, 1.110 + "TESTBOOL=new Boolean(Number.POSITIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.111 + "[object Boolean]", 1.112 + eval("TESTBOOL=new Boolean(Number.POSITIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.113 +new TestCase( SECTION, "(new Boolean(Number.POSITIVE_INFINITY)).valueOf()", true, (new Boolean(Number.POSITIVE_INFINITY)).valueOf() ); 1.114 +new TestCase( SECTION, "typeof new Boolean(Number.POSITIVE_INFINITY)", "object", typeof new Boolean(Number.POSITIVE_INFINITY) ); 1.115 +new TestCase( SECTION, "(new Boolean(Number.NEGATIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NEGATIVE_INFINITY)).constructor ); 1.116 +new TestCase( SECTION, 1.117 + "TESTBOOL=new Boolean(Number.NEGATIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.118 + "[object Boolean]", 1.119 + eval("TESTBOOL=new Boolean(Number.NEGATIVE_INFINITY);TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.120 +new TestCase( SECTION, "(new Boolean(Number.NEGATIVE_INFINITY)).valueOf()", true, (new Boolean(Number.NEGATIVE_INFINITY)).valueOf() ); 1.121 +new TestCase( SECTION, "typeof new Boolean(Number.NEGATIVE_INFINITY)", "object", typeof new Boolean(Number.NEGATIVE_INFINITY) ); 1.122 +new TestCase( SECTION, "(new Boolean(Number.NEGATIVE_INFINITY)).constructor", Boolean.prototype.constructor, (new Boolean(Number.NEGATIVE_INFINITY)).constructor ); 1.123 +new TestCase( "15.6.2.2", 1.124 + "TESTBOOL=new Boolean();TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()", 1.125 + "[object Boolean]", 1.126 + eval("TESTBOOL=new Boolean();TESTBOOL.toString=Object.prototype.toString;TESTBOOL.toString()") ); 1.127 +new TestCase( "15.6.2.2", "(new Boolean()).valueOf()", false, (new Boolean()).valueOf() ); 1.128 +new TestCase( "15.6.2.2", "typeof new Boolean()", "object", typeof new Boolean() ); 1.129 + 1.130 +test();