tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

S15.5.2.1_A1_T18.js (2757B)


      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_T18
      9 description: >
     10    Create string object with "new String()" initialized with numbers
     11    that have more than 1 significant digit
     12 ---*/
     13 
     14 var __str = new String(1000000000000000000000);
     15 //////////////////////////////////////////////////////////////////////////////
     16 //CHECK#1
     17 if (typeof __str !== "object") {
     18  throw new Test262Error('#1: __str = new String(1000000000000000000000); 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(1000000000000000000000); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor);
     27 }
     28 //
     29 //////////////////////////////////////////////////////////////////////////////
     30 
     31 //////////////////////////////////////////////////////////////////////////////
     32 //CHECK#2
     33 if (__str != "1e+21") {
     34  throw new Test262Error('#2: __str = new String(1000000000000000000000); __str =="1e+21". Actual: __str ==' + __str);
     35 }
     36 //
     37 //////////////////////////////////////////////////////////////////////////////
     38 
     39 __str = new String(10000000000000000000000);
     40 //////////////////////////////////////////////////////////////////////////////
     41 //CHECK#3
     42 if (typeof __str !== "object") {
     43  throw new Test262Error('#3: __str = new String(10000000000000000000000); typeof __str === "object". Actual: typeof __str ===' + typeof __str);
     44 }
     45 //
     46 //////////////////////////////////////////////////////////////////////////////
     47 
     48 //////////////////////////////////////////////////////////////////////////////
     49 //CHECK#3.5
     50 if (__str.constructor !== String) {
     51  throw new Test262Error('#3.5: __str = new String(10000000000000000000000); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor);
     52 }
     53 //
     54 //////////////////////////////////////////////////////////////////////////////
     55 
     56 //////////////////////////////////////////////////////////////////////////////
     57 //CHECK#4
     58 if (__str != "1e+22") {
     59  throw new Test262Error('#4: __str = new String(10000000000000000000000); __str =="1e+22". Actual: __str ==' + __str);
     60 }
     61 //
     62 //////////////////////////////////////////////////////////////////////////////
     63 
     64 reportCompare(0, 0);