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: * Operator x && y uses GetValue michael@0: * michael@0: * @path ch11/11.11/11.11.1/S11.11.1_A2.1_T1.js michael@0: * @description Either Type is not Reference or GetBase is not null michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: if ((false && true) !== false) { michael@0: $ERROR('#1: (false && true) === false'); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: if ((true && false) !== false) { michael@0: $ERROR('#2: (true && false) === false'); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var x = false; michael@0: if ((x && true) !== false) { michael@0: $ERROR('#3: var x = false; (x && true) === false'); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: var y = new Boolean(false); michael@0: if ((true && y) !== y) { michael@0: $ERROR('#4: var y = new Boolean(false); (true && y) === y'); michael@0: } michael@0: michael@0: //CHECK#5 michael@0: var x = false; michael@0: var y = true; michael@0: if ((x && y) !== false) { michael@0: $ERROR('#5: var x = false; var y = true; (x && y) === false'); michael@0: } michael@0: michael@0: //CHECK#6 michael@0: var x = true; michael@0: var y = new Boolean(false); michael@0: if ((x && y) !== y) { michael@0: $ERROR('#6: var x = true; var y = new Boolean(false); (x && y) === y'); michael@0: } michael@0: michael@0: //CHECK#7 michael@0: var objectx = new Object(); michael@0: var objecty = new Object(); michael@0: objectx.prop = true; michael@0: objecty.prop = 1.1; michael@0: if ((objectx.prop && objecty.prop) !== objecty.prop) { michael@0: $ERROR('#7: var objectx = new Object(); var objecty = new Object(); objectx.prop = true; objecty.prop = 1; (objectx.prop && objecty.prop) === objecty.prop'); michael@0: } michael@0: michael@0: //CHECK#8 michael@0: var objectx = new Object(); michael@0: var objecty = new Object(); michael@0: objectx.prop = 0; michael@0: objecty.prop = true; michael@0: if ((objectx.prop && objecty.prop) !== objectx.prop) { michael@0: $ERROR('#8: var objectx = new Object(); var objecty = new Object(); objectx.prop = 0; objecty.prop = true; (objectx.prop && objecty.prop) === objectx.prop'); michael@0: } michael@0: