michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * 0, null, undefined, false, empty string, NaN in expression is evaluated to false michael@0: * michael@0: * @path ch12/12.5/S12.5_A1.1_T2.js michael@0: * @description Using "if/else" construction michael@0: */ michael@0: michael@0: var c=0; michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#1 michael@0: if(0) michael@0: $ERROR('#1.1: 0 in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=1) $ERROR('#1.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#2 michael@0: if(false) michael@0: $ERROR('#2.1: false in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=2) $ERROR('#2.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#3 michael@0: if(null) michael@0: $ERROR('#3.1: null in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=3) $ERROR('#3.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#4 michael@0: if(undefined) michael@0: $ERROR('#4.1: undefined in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=4) $ERROR('#4.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#5 michael@0: if("") michael@0: $ERROR('#5.1: empty string in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=5) $ERROR('#5.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#6 michael@0: if(NaN) michael@0: $ERROR('#6.1: NaN in expression is evaluated to false '); michael@0: else michael@0: c++; michael@0: if (c!=6) $ERROR('#6.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: