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 returns !ToBoolean(x) michael@0: * michael@0: * @path ch11/11.4/11.4.9/S11.4.9_A3_T2.js michael@0: * @description Type(x) is number primitive or Number object michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: if (!0.1 !== false) { michael@0: $ERROR('#1: !0.1 === false'); michael@0: } michael@0: michael@0: //CHECK#2 michael@0: if (!new Number(-0.1) !== false) { michael@0: $ERROR('#2: !new Number(-0.1) === false'); michael@0: } michael@0: michael@0: //CHECK#3 michael@0: if (!NaN !== true) { michael@0: $ERROR('#3: !NaN === true'); michael@0: } michael@0: michael@0: //CHECK#4 michael@0: if (!new Number(NaN) !== false) { michael@0: $ERROR('#4: !new Number(NaN) === false'); michael@0: } michael@0: michael@0: //CHECK#5 michael@0: if (!0 !== true) { michael@0: $ERROR('#5: !0 === true'); michael@0: } michael@0: michael@0: //CHECK#6 michael@0: if (!new Number(0) !== false) { michael@0: $ERROR('#6: !new Number(0) === false'); michael@0: } michael@0: michael@0: //CHECK#7 michael@0: if (!Infinity !== false) { michael@0: $ERROR('#7: !Infinity === false'); michael@0: } michael@0: