tor-browser

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

S9.5_A3.1_T4.js (2954B)


      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: Operator uses ToNumber
      6 es5id: 9.5_A3.1_T4
      7 description: Type(x) is Object
      8 ---*/
      9 
     10 //CHECK#1
     11 var object = {valueOf: function() {return 1}};
     12 if (~object !== ~1) {
     13  throw new Test262Error('#1: var object = {valueOf: function() {return 1}}; ~object === ~1');
     14 }
     15 
     16 //CHECK#2
     17 var object = {valueOf: function() {return 1}, toString: function() {return 0}};
     18 if (~object !== ~1) {
     19  throw new Test262Error('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; ~object === ~1');
     20 } 
     21 
     22 //CHECK#3
     23 var object = {valueOf: function() {return 1}, toString: function() {return {}}};
     24 if (~object !== ~1) {
     25  throw new Test262Error('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; ~object === ~1');
     26 }
     27 
     28 //CHECK#4
     29 try {
     30  var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
     31  if (~object !== ~1) {
     32    throw new Test262Error('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; ~object === ~1');
     33  }
     34 }
     35 catch (e) {
     36  if (e === ~"error") {
     37    throw new Test262Error('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; ~object not throw "error"');
     38  } else {
     39    throw new Test262Error('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; ~object not throw Error. Actual: ' + (e));
     40  }
     41 }
     42 
     43 //CHECK#5
     44 var object = {toString: function() {return 1}};
     45 if (~object !== ~1) {
     46  throw new Test262Error('#5: var object = {toString: function() {return 1}}; ~object === ~1');
     47 }
     48 
     49 //CHECK#6
     50 var object = {valueOf: function() {return {}}, toString: function() {return 1}}
     51 if (~object !== ~1) {
     52  throw new Test262Error('#6: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; ~object === ~1');
     53 }
     54 
     55 //CHECK#7
     56 try {
     57  var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
     58  ~object;
     59  throw new Test262Error('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; ~object throw "error". Actual: ' + (~object));
     60 }  
     61 catch (e) {
     62  if (e !== "error") {
     63    throw new Test262Error('#7.2: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; ~object throw "error". Actual: ' + (e));
     64  } 
     65 }
     66 
     67 //CHECK#8
     68 try {
     69  var object = {valueOf: function() {return {}}, toString: function() {return {}}};
     70  ~object;
     71  throw new Test262Error('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; ~object throw TypeError. Actual: ' + (~object));
     72 }  
     73 catch (e) {
     74  if ((e instanceof TypeError) !== true) {
     75    throw new Test262Error('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; ~object throw TypeError. Actual: ' + (e));
     76  } 
     77 }
     78 
     79 reportCompare(0, 0);