S11.6.1_A3.2_T2.1.js (1921B)
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: | 6 If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then 7 operator x + y returns the result of concatenating ToString(x) followed 8 by ToString(y) 9 es5id: 11.6.1_A3.2_T2.1 10 description: > 11 Type(Primitive(x)) is different from Type(Primitive(y)) and both 12 types vary between Number (primitive or object) and String 13 (primitive and object) 14 ---*/ 15 16 //CHECK#1 17 if ("1" + 1 !== "11") { 18 throw new Test262Error('#1: "1" + 1 === "11". Actual: ' + ("1" + 1)); 19 } 20 21 //CHECK#2 22 if (1 + "1" !== "11") { 23 throw new Test262Error('#2: 1 + "1" === "11". Actual: ' + (1 + "1")); 24 } 25 26 //CHECK#3 27 if (new String("1") + 1 !== "11") { 28 throw new Test262Error('#3: new String("1") + 1 === "11". Actual: ' + (new String("1") + 1)); 29 } 30 31 //CHECK#4 32 if (1 + new String("1") !== "11") { 33 throw new Test262Error('#4: 1 + new String("1") === "11". Actual: ' + (1 + new String("1"))); 34 } 35 36 //CHECK#5 37 if ("1" + new Number(1) !== "11") { 38 throw new Test262Error('#5: "1" + new Number(1) === "11". Actual: ' + ("1" + new Number(1))); 39 } 40 41 //CHECK#6 42 if (new Number(1) + "1" !== "11") { 43 throw new Test262Error('#6: new Number(1) + "1" === "11". Actual: ' + (new Number(1) + "1")); 44 } 45 46 //CHECK#7 47 if (new String("1") + new Number(1) !== "11") { 48 throw new Test262Error('#7: new String("1") + new Number(1) === "11". Actual: ' + (new String("1") + new Number(1))); 49 } 50 51 //CHECK#8 52 if (new Number(1) + new String("1") !== "11") { 53 throw new Test262Error('#8: new Number(1) + new String("1") === "11". Actual: ' + (new Number(1) + new String("1"))); 54 } 55 56 //CHECK#9 57 if ("x" + 1 !=="x1") { 58 throw new Test262Error('#9: "x" + 1 === "x1". Actual: ' + ("x" + 1)); 59 } 60 61 //CHECK#10 62 if (1 + "x" !== "1x") { 63 throw new Test262Error('#10: 1 + "x" === "1x". Actual: ' + (1 + "x")); 64 } 65 66 reportCompare(0, 0);