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.2/S11.11.2_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 ((true || false) !== true) { michael@0: $ERROR('#1: (true || false) === true'); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: if ((false || true) !== true) { michael@0: $ERROR('#2: (false || true) === true'); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var x = new Boolean(false); michael@0: if ((x || true) !== x) { michael@0: $ERROR('#3: var x = Boolean(false); (x || true) === x'); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: var y = new Boolean(true); michael@0: if ((false || y) !== y) { michael@0: $ERROR('#4: var y = Boolean(true); (false || y) === y'); michael@0: } michael@0: michael@0: //CHECK#5 michael@0: var x = new Boolean(false); michael@0: var y = new Boolean(true); michael@0: if ((x || y) !== x) { michael@0: $ERROR('#5: var x = new Boolean(false); var y = new Boolean(true); (x || y) === x'); michael@0: } michael@0: michael@0: //CHECK#6 michael@0: var x = false; michael@0: var y = new Boolean(true); michael@0: if ((x || y) !== y) { michael@0: $ERROR('#6: var x = false; var y = new Boolean(true); (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 = false; 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 = false; 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 = 1.1; michael@0: objecty.prop = false; michael@0: if ((objectx.prop || objecty.prop) !== objectx.prop) { michael@0: $ERROR('#8: var objectx = new Object(); var objecty = new Object(); objectx.prop = 1.1; objecty.prop = false; (objectx.prop || objecty.prop) === objectx.prop'); michael@0: } michael@0: