S11.4.8_A3_T2.js (1070B)
1 // Copyright 2009 the Sputnik authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 info: Operator ~x returns ~ToInt32(x) 6 es5id: 11.4.8_A3_T2 7 description: Type(x) is number primitive or Number object 8 ---*/ 9 10 //CHECK#1 11 if (~0.1 !== -1) { 12 throw new Test262Error('#1: ~0.1 === -1. Actual: ' + (~0.1)); 13 } 14 15 //CHECK#2 16 if (~new Number(-0.1) !== -1) { 17 throw new Test262Error('#2: ~new Number(-0.1) === -1. Actual: ' + (~new Number(-0.1))); 18 } 19 20 //CHECK#3 21 if (~NaN !== -1) { 22 throw new Test262Error('#3: ~NaN === -1. Actual: ' + (~NaN)); 23 } 24 25 //CHECK#4 26 if (~new Number(NaN) !== -1) { 27 throw new Test262Error('#4: ~new Number(NaN) === -1. Actual: ' + (~new Number(NaN))); 28 } 29 30 //CHECK#5 31 if (~1 !== -2) { 32 throw new Test262Error('#5: ~1 === -2. Actual: ' + (~1)); 33 } 34 35 //CHECK#6 36 if (~new Number(-2) !== 1) { 37 throw new Test262Error('#6: ~new Number(-2) === 1. Actual: ' + (~new Number(-2))); 38 } 39 40 //CHECK#7 41 if (~Infinity !== -1) { 42 throw new Test262Error('#7: ~Infinity === -1. Actual: ' + (~Infinity)); 43 } 44 45 reportCompare(0, 0);