/* The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Mozilla Communicator client code, released March * 31, 1998. * * The Initial Developer of the Original Code is Netscape Communications * Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * */ /** File Name: 15.6.1.js ECMA Section: 15.6.1 The Boolean Function 15.6.1.1 Boolean( value ) 15.6.1.2 Boolean () Description: Boolean( value ) should return a Boolean value not a Boolean object) computed by Boolean.toBooleanValue( value) 15.6.1.2 Boolean() returns false Author: christine@netscape.com Date: 27 jun 1997 Data File Fields: VALUE Argument passed to the Boolean function TYPE typeof VALUE (not used, but helpful in understanding the data file) E_RETURN Expected return value of Boolean( VALUE ) */ var SECTION = "15.6.1"; var VERSION = "ECMA_1"; startTest(); var TITLE = "The Boolean constructor called as a function: Boolean( value ) and Boolean()"; writeHeaderToLog( SECTION + " "+ TITLE); var testcases = getTestCases(); test(); function getTestCases() { var array = new Array(); var item = 0; array[item++] = new TestCase( SECTION, "Boolean(1)", true, Boolean(1) ); array[item++] = new TestCase( SECTION, "Boolean(0)", false, Boolean(0) ); array[item++] = new TestCase( SECTION, "Boolean(-1)", true, Boolean(-1) ); array[item++] = new TestCase( SECTION, "Boolean('1')", true, Boolean("1") ); array[item++] = new TestCase( SECTION, "Boolean('0')", true, Boolean("0") ); array[item++] = new TestCase( SECTION, "Boolean('-1')", true, Boolean("-1") ); array[item++] = new TestCase( SECTION, "Boolean(true)", true, Boolean(true) ); array[item++] = new TestCase( SECTION, "Boolean(false)", false, Boolean(false) ); array[item++] = new TestCase( SECTION, "Boolean('true')", true, Boolean("true") ); array[item++] = new TestCase( SECTION, "Boolean('false')", true, Boolean("false") ); array[item++] = new TestCase( SECTION, "Boolean(null)", false, Boolean(null) ); array[item++] = new TestCase( SECTION, "Boolean(-Infinity)", true, Boolean(Number.NEGATIVE_INFINITY) ); array[item++] = new TestCase( SECTION, "Boolean(NaN)", false, Boolean(Number.NaN) ); array[item++] = new TestCase( SECTION, "Boolean(void(0))", false, Boolean( void(0) ) ); array[item++] = new TestCase( SECTION, "Boolean(x=0)", false, Boolean( x=0 ) ); array[item++] = new TestCase( SECTION, "Boolean(x=1)", true, Boolean( x=1 ) ); array[item++] = new TestCase( SECTION, "Boolean(x=false)", false, Boolean( x=false ) ); array[item++] = new TestCase( SECTION, "Boolean(x=true)", true, Boolean( x=true ) ); array[item++] = new TestCase( SECTION, "Boolean(x=null)", false, Boolean( x=null ) ); array[item++] = new TestCase( SECTION, "Boolean()", false, Boolean() ); // array[item++] = new TestCase( SECTION, "Boolean(var someVar)", false, Boolean( someVar ) ); return ( array ); } function test() { for ( tc=0; tc < testcases.length; tc++ ) { testcases[tc].passed = writeTestCaseResult( testcases[tc].expect, testcases[tc].actual, testcases[tc].description +" = "+ testcases[tc].actual ); testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; } stopTest(); return ( testcases ); }