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: * 1, true, non-empty string and others in expression is evaluated to true when using operator "new" michael@0: * michael@0: * @path ch12/12.5/S12.5_A1.2_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(!(new Number(1))) michael@0: $ERROR('#1.1: new 1 in expression is evaluated to true'); 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(!(new Boolean(true))) michael@0: $ERROR('#2.1: new true in expression is evaluated to true'); 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(!(new String("1"))) michael@0: $ERROR('#3.1: new "1" in expression is evaluated to true'); 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(!(new String("A"))) michael@0: $ERROR('#4.1: new "A" in expression is evaluated to true'); 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(!(new Boolean(false))) michael@0: $ERROR('#5.1: new false in expression is evaluated to true '); 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(!(new Number(NaN))) michael@0: $ERROR('#6.1: new NaN in expression is evaluated to true '); 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: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#7 michael@0: if(!(new Number(null))) michael@0: $ERROR('#7.1: new null in expression is evaluated to true '); michael@0: else michael@0: c++; michael@0: if (c!=7) $ERROR('#7.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#8 michael@0: if(!(new String(undefined))) michael@0: $ERROR('#8.1: new undefined in expression is evaluated to true '); michael@0: else michael@0: c++; michael@0: if (c!=8) $ERROR('#8.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#9 michael@0: if(!(new String(""))) michael@0: $ERROR('#9.1: new empty string in expression is evaluated to true '); michael@0: else michael@0: c++; michael@0: if (c!=9) $ERROR('#9.2: else branch don`t execute'); michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: