tor-browser

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

S15.5.2.1_A1_T7.js (1783B)


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