S11.6.2_A4_T1.js (1242B)
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 - y produces the same result as x + (-y) 6 es5id: 11.6.2_A4_T1 7 description: If either operand is NaN, the result is NaN 8 ---*/ 9 10 //CHECK#1 11 if (isNaN(Number.NaN - 1) !== true ) { 12 throw new Test262Error('#1: NaN - 1 === Not-a-Number. Actual: ' + (NaN - 1)); 13 } 14 15 //CHECK#2 16 if (isNaN(1 - Number.NaN) !== true ) { 17 throw new Test262Error('#2: 1 - NaN === Not-a-Number. Actual: ' + (1 - NaN)); 18 } 19 20 //CHECK#3 21 if (isNaN(Number.NaN - Number.POSITIVE_INFINITY) !== true ) { 22 throw new Test262Error('#3: NaN - Infinity === Not-a-Number. Actual: ' + (NaN - Infinity)); 23 } 24 25 //CHECK#4 26 if (isNaN(Number.POSITIVE_INFINITY - Number.NaN) !== true ) { 27 throw new Test262Error('#4: Infinity - NaN === Not-a-Number. Actual: ' + (Infinity - NaN)); 28 } 29 30 //CHECK#5 31 if (isNaN(Number.NaN - Number.NEGATIVE_INFINITY) !== true ) { 32 throw new Test262Error('#5: NaN - Infinity === Not-a-Number. Actual: ' + (NaN - Infinity)); 33 } 34 35 //CHECK#6 36 if (isNaN(Number.NEGATIVE_INFINITY - Number.NaN) !== true ) { 37 throw new Test262Error('#6: Infinity - NaN === Not-a-Number. Actual: ' + (Infinity - NaN)); 38 } 39 40 reportCompare(0, 0);