tor-browser

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

S15.5.2.1_A1_T10.js (1739B)


      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_T10
      9 description: >
     10    Creating string object with "new String(function object)" as the
     11    function object's prototype.toString property was changed
     12 ---*/
     13 
     14 function __FACTORY() {};
     15 
     16 __FACTORY.prototype.toString = function() {
     17  return "tostr"
     18 };
     19 
     20 var __obj = new __FACTORY;
     21 
     22 var __str = new String(__obj);
     23 
     24 //////////////////////////////////////////////////////////////////////////////
     25 //CHECK#1
     26 if (typeof __str !== "object") {
     27  throw new Test262Error('#1: __str = new String(__obj); typeof __str === "object". Actual: typeof __str ===' + typeof __str);
     28 }
     29 //
     30 //////////////////////////////////////////////////////////////////////////////
     31 
     32 //////////////////////////////////////////////////////////////////////////////
     33 //CHECK#1.5
     34 if (__str.constructor !== String) {
     35  throw new Test262Error('#1.5: __str = new String(__obj); __str.constructor === String. Actual: __str.constructor ===' + __str.constructor);
     36 }
     37 //
     38 //////////////////////////////////////////////////////////////////////////////
     39 
     40 //////////////////////////////////////////////////////////////////////////////
     41 //CHECK#2
     42 if (__str != "tostr") {
     43  throw new Test262Error('#2: __str = new String(__obj); __str =="tostr". Actual: __str ==' + __str);
     44 }
     45 //
     46 //////////////////////////////////////////////////////////////////////////////
     47 
     48 reportCompare(0, 0);