S15.5.1.1_A1_T18.js (1799B)
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_T18 9 description: Call String() with numbers that have more than 1 significant digit 10 ---*/ 11 12 var __str = String(1000000000000000000000); 13 14 ////////////////////////////////////////////////////////////////////////////// 15 //CHECK#1 16 if (typeof __str !== "string") { 17 throw new Test262Error('#1: __str = String(1000000000000000000000); typeof __str === "string". Actual: typeof __str ===' + typeof __str); 18 } 19 // 20 ////////////////////////////////////////////////////////////////////////////// 21 22 ////////////////////////////////////////////////////////////////////////////// 23 //CHECK#2 24 if (__str !== "1e+21") { 25 throw new Test262Error('#2: __str = String(1000000000000000000000); __str === "1e+21". Actual: __str ===' + __str); 26 } 27 // 28 ////////////////////////////////////////////////////////////////////////////// 29 30 __str = String(10000000000000000000000); 31 32 ////////////////////////////////////////////////////////////////////////////// 33 //CHECK#3 34 if (typeof __str !== "string") { 35 throw new Test262Error('#3: __str = String(10000000000000000000000); typeof __str === "string". Actual: typeof __str ===' + typeof __str); 36 } 37 // 38 ////////////////////////////////////////////////////////////////////////////// 39 40 ////////////////////////////////////////////////////////////////////////////// 41 //CHECK#4 42 if (__str !== "1e+22") { 43 throw new Test262Error('#4: __str = String(10000000000000000000000); __str === "1e+22". Actual: __str ===' + __str); 44 } 45 // 46 ////////////////////////////////////////////////////////////////////////////// 47 48 reportCompare(0, 0);