S11.6.1_A3.2_T2.2.js (1835B)
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.2 10 description: > 11 Type(Primitive(x)) is different from Type(Primitive(y)) and both 12 types vary between String (primitive or object) and Boolean 13 (primitive and object) 14 ---*/ 15 16 //CHECK#1 17 if (true + "1" !== "true1") { 18 throw new Test262Error('#1: true + "1" === "true1". Actual: ' + (true + "1")); 19 } 20 21 //CHECK#2 22 if ("1" + true !== "1true") { 23 throw new Test262Error('#2: "1" + true === "1true". Actual: ' + ("1" + true)); 24 } 25 26 //CHECK#3 27 if (new Boolean(true) + "1" !== "true1") { 28 throw new Test262Error('#3: new Boolean(true) + "1" === "true1". Actual: ' + (new Boolean(true) + "1")); 29 } 30 31 //CHECK#4 32 if ("1" + new Boolean(true) !== "1true") { 33 throw new Test262Error('#4: "1" + new Boolean(true) === "1true". Actual: ' + ("1" + new Boolean(true))); 34 } 35 36 //CHECK#5 37 if (true + new String("1") !== "true1") { 38 throw new Test262Error('#5: true + new String("1") === "true1". Actual: ' + (true + new String("1"))); 39 } 40 41 //CHECK#6 42 if (new String("1") + true !== "1true") { 43 throw new Test262Error('#6: new String("1") + true === "1true". Actual: ' + (new String("1") + true)); 44 } 45 46 //CHECK#7 47 if (new Boolean(true) + new String("1") !== "true1") { 48 throw new Test262Error('#7: new Boolean(true) + new String("1") === "true1". Actual: ' + (new Boolean(true) + new String("1"))); 49 } 50 51 //CHECK#8 52 if (new String("1") + new Boolean(true) !== "1true") { 53 throw new Test262Error('#8: new String("1") + new Boolean(true) === "1true". Actual: ' + (new String("1") + new Boolean(true))); 54 } 55 56 reportCompare(0, 0);