S15.5.2.1_A1_T16.js (4701B)
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 part of a new expression, it is a constructor: it initialises the newly created object and 7 The [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied 8 es5id: 15.5.2.1_A1_T16 9 description: > 10 Creating string object with "new String()" initialized with .12345 11 and other numbers 12 ---*/ 13 14 var __str = new String(.12345); 15 ////////////////////////////////////////////////////////////////////////////// 16 //CHECK#1 17 if (typeof __str !== "object") { 18 throw new Test262Error('#1: __str =new String(.12345); typeof __str === "object". Actual: typeof __str ===' + typeof __str); 19 } 20 // 21 ////////////////////////////////////////////////////////////////////////////// 22 23 ////////////////////////////////////////////////////////////////////////////// 24 //CHECK#1.5 25 if (__str.constructor !== String) { 26 throw new Test262Error('#1.5: __str =new String(.12345); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor); 27 } 28 // 29 ////////////////////////////////////////////////////////////////////////////// 30 31 ////////////////////////////////////////////////////////////////////////////// 32 //CHECK#2 33 if (__str != "0.12345") { 34 throw new Test262Error('#2: __str =new String(.12345); __str =="0.12345". Actual: __str ==' + __str); 35 } 36 // 37 ////////////////////////////////////////////////////////////////////////////// 38 39 __str = new String(.012345); 40 ////////////////////////////////////////////////////////////////////////////// 41 //CHECK#3 42 if (typeof __str !== "object") { 43 throw new Test262Error('#3: __str =new String(.012345); typeof __str === "object". Actual: typeof __str ===' + typeof __str); 44 } 45 // 46 ////////////////////////////////////////////////////////////////////////////// 47 48 ////////////////////////////////////////////////////////////////////////////// 49 //CHECK#2.5 50 if (__str.constructor !== String) { 51 throw new Test262Error('#3.5: __str =new String(.012345); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor); 52 } 53 // 54 ////////////////////////////////////////////////////////////////////////////// 55 56 ////////////////////////////////////////////////////////////////////////////// 57 //CHECK#4 58 if (__str != "0.012345") { 59 throw new Test262Error('#4: __str =new String(.012345); __str =="0.012345". Actual: __str ==' + __str); 60 } 61 // 62 ////////////////////////////////////////////////////////////////////////////// 63 64 __str = new String(.0012345); 65 ////////////////////////////////////////////////////////////////////////////// 66 //CHECK#5 67 if (typeof __str !== "object") { 68 throw new Test262Error('#5: __str =new String(.0012345); typeof __str === "object". Actual: typeof __str ===' + typeof __str); 69 } 70 // 71 ////////////////////////////////////////////////////////////////////////////// 72 73 ////////////////////////////////////////////////////////////////////////////// 74 //CHECK#5.5 75 if (__str.constructor !== String) { 76 throw new Test262Error('#5.5: __str =new String(.0012345); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor); 77 } 78 // 79 ////////////////////////////////////////////////////////////////////////////// 80 81 ////////////////////////////////////////////////////////////////////////////// 82 //CHECK#6 83 if (__str != "0.0012345") { 84 throw new Test262Error('#6: __str =new String(.0012345); __str =="0.0012345". Actual: __str ==' + __str); 85 } 86 // 87 ////////////////////////////////////////////////////////////////////////////// 88 89 __str = new String(.00000012345); 90 ////////////////////////////////////////////////////////////////////////////// 91 //CHECK#7 92 if (typeof __str !== "object") { 93 throw new Test262Error('#7: __str =new String(.00000012345); typeof __str === "object". Actual: typeof __str ===' + typeof __str); 94 } 95 // 96 ////////////////////////////////////////////////////////////////////////////// 97 98 ////////////////////////////////////////////////////////////////////////////// 99 //CHECK#7.5 100 if (__str.constructor !== String) { 101 throw new Test262Error('#7.5: __str =new String(.00000012345); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor); 102 } 103 // 104 ////////////////////////////////////////////////////////////////////////////// 105 106 ////////////////////////////////////////////////////////////////////////////// 107 //CHECK#8 108 if (__str != "1.2345e-7") { 109 throw new Test262Error('#8: __str =new String(.00000012345); __str =="1.2345e-7". Actual: __str ==' + __str); 110 } 111 // 112 ////////////////////////////////////////////////////////////////////////////// 113 114 reportCompare(0, 0);