michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: 12.5-1.js michael@0: ECMA Section: The if statement michael@0: Description: michael@0: michael@0: The production IfStatement : if ( Expression ) Statement else Statement michael@0: is evaluated as follows: michael@0: michael@0: 1.Evaluate Expression. michael@0: 2.Call GetValue(Result(1)). michael@0: 3.Call ToBoolean(Result(2)). michael@0: 4.If Result(3) is false, go to step 7. michael@0: 5.Evaluate the first Statement. michael@0: 6.Return Result(5). michael@0: 7.Evaluate the second Statement. michael@0: 8.Return Result(7). michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 12 november 1997 michael@0: */ michael@0: michael@0: michael@0: var SECTION = "12.5-1"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "The if statement"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( true ) MYVAR='PASSED'; else MYVAR= 'FAILED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( true ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( false ) MYVAR='FAILED'; else MYVAR= 'PASSED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( false ) MYVAR='FAILED'; else MYVAR= 'PASSED';") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; else MYVAR= 'FAILED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( new Boolean(true) ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; else MYVAR= 'FAILED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( new Boolean(false) ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( 1 ) MYVAR='PASSED'; else MYVAR= 'FAILED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( 1 ) MYVAR='PASSED'; else MYVAR= 'FAILED';") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "var MYVAR; if ( 0 ) MYVAR='FAILED'; else MYVAR= 'PASSED';", michael@0: "PASSED", michael@0: eval("var MYVAR; if ( 0 ) MYVAR='FAILED'; else MYVAR= 'PASSED';") ); michael@0: michael@0: test(); michael@0: