S15.5.1.1_A1_T12.js (2358B)
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 When String is called as a function rather than as a constructor, it 7 performs a type conversion 8 es5id: 15.5.1.1_A1_T12 9 description: Call String(1/"a"), String("b"* null) and String(Number.NaN) 10 ---*/ 11 12 var __str = String(1 / "a"); 13 14 ////////////////////////////////////////////////////////////////////////////// 15 //CHECK#1 16 if (typeof __str !== "string") { 17 throw new Test262Error('#1: __str = String(1/"a"); typeof __str === "string". Actual: typeof __str ===' + typeof __str); 18 } 19 // 20 ////////////////////////////////////////////////////////////////////////////// 21 22 ////////////////////////////////////////////////////////////////////////////// 23 //CHECK#2 24 if (__str !== "NaN") { 25 throw new Test262Error('#2: __str = String(1/"a"); __str === "NaN". Actual: __str ===' + __str); 26 } 27 // 28 ////////////////////////////////////////////////////////////////////////////// 29 30 __str = String("b" * null); 31 32 ////////////////////////////////////////////////////////////////////////////// 33 //CHECK#3 34 if (typeof __str !== "string") { 35 throw new Test262Error('#3: __str = String("b"*null); typeof __str === "string". Actual: typeof __str ===' + typeof __str); 36 } 37 // 38 ////////////////////////////////////////////////////////////////////////////// 39 40 ////////////////////////////////////////////////////////////////////////////// 41 //CHECK#4 42 if (__str !== "NaN") { 43 throw new Test262Error('#4: __str = String("b"*null); __str === "NaN". Actual: __str ===' + __str); 44 } 45 // 46 ////////////////////////////////////////////////////////////////////////////// 47 48 __str = String(Number.NaN); 49 50 ////////////////////////////////////////////////////////////////////////////// 51 //CHECK#5 52 if (typeof __str !== "string") { 53 throw new Test262Error('#5: __str = String(Number.NaN); typeof __str === "string". Actual: typeof __str ===' + typeof __str); 54 } 55 // 56 ////////////////////////////////////////////////////////////////////////////// 57 58 ////////////////////////////////////////////////////////////////////////////// 59 //CHECK#6 60 if (__str !== "NaN") { 61 throw new Test262Error('#6: __str = String(Number.NaN); __str === "NaN". Actual: __str ===' + __str); 62 } 63 // 64 ////////////////////////////////////////////////////////////////////////////// 65 66 reportCompare(0, 0);