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 : z uses GetValue michael@0: * michael@0: * @path ch11/11.12/S11.12_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) !== false) { michael@0: $ERROR('#1: (true ? false : true) === false'); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: if ((false ? false : true) !== true) { michael@0: $ERROR('#2: (false ? false : true) === true'); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: var x = new Boolean(true); michael@0: var y = new Boolean(false); michael@0: if ((x ? y : true) !== y) { michael@0: $ERROR('#3: var x = new Boolean(true); var y = new Boolean(false); (x ? y : true) === y'); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: var z = new Boolean(true); michael@0: if ((false ? false : z) !== z) { michael@0: $ERROR('#4: var z = new Boolean(true); (false ? false : z) === z'); michael@0: } michael@0: michael@0: //CHECK#5 michael@0: var x = new Boolean(true); michael@0: var y = new Boolean(false); michael@0: var z = new Boolean(true); michael@0: if ((x ? y : z) !== y) { michael@0: $ERROR('#5: var x = new Boolean(true); var y = new Boolean(false); var z = new Boolean(true); (x ? y : z) === y'); michael@0: } michael@0: michael@0: //CHECK#6 michael@0: var x = false; michael@0: var y = new Boolean(false); michael@0: var z = new Boolean(true); michael@0: if ((x ? y : z) !== z) { michael@0: $ERROR('#6: var x = false; var y = new Boolean(false); var z = new Boolean(true); (x ? y : z) === z'); michael@0: } michael@0: