js/src/tests/test262/ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 // Copyright 2009 the Sputnik authors.  All rights reserved.
     2 // This code is governed by the BSD license found in the LICENSE file.
     4 /**
     5  * Operator x | y uses [[Default Value]]
     6  *
     7  * @path ch11/11.10/11.10.3/S11.10.3_A2.2_T1.js
     8  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
     9  */
    11 //CHECK#1
    12 if (({valueOf: function() {return 1}} | 0) !== 1) {
    13   $ERROR('#1: ({valueOf: function() {return 1}} | 0) === 1. Actual: ' + (({valueOf: function() {return 1}} | 0)));
    14 }
    16 //CHECK#2
    17 if (({valueOf: function() {return 1}, toString: function() {return 0}} | 0) !== 1) {
    18   $ERROR('#2: ({valueOf: function() {return 1}, toString: function() {return 0}} | 0) === 1. Actual: ' + (({valueOf: function() {return 1}, toString: function() {return 0}} | 0)));
    19 }
    21 //CHECK#3
    22 if (({valueOf: function() {return 1}, toString: function() {return {}}} | 0) !== 1) {
    23   $ERROR('#3: ({valueOf: function() {return 1}, toString: function() {return {}}} | 0) === 1. Actual: ' + (({valueOf: function() {return 1}, toString: function() {return {}}} | 0)));
    24 }
    26 //CHECK#4
    27 try {
    28   if (({valueOf: function() {return 1}, toString: function() {throw "error"}} | 0) !== 1) {
    29     $ERROR('#4.1: ({valueOf: function() {return 1}, toString: function() {throw "error"}} | 0) === 1. Actual: ' + (({valueOf: function() {return 1}, toString: function() {throw "error"}} | 0)));
    30   }
    31 }
    32 catch (e) {
    33   if (e === "error") {
    34     $ERROR('#4.2: ({valueOf: function() {return 1}, toString: function() {throw "error"}} | 0) not throw "error"');
    35   } else {
    36     $ERROR('#4.3: ({valueOf: function() {return 1}, toString: function() {throw "error"}} | 0) not throw Error. Actual: ' + (e));
    37   }
    38 }
    40 //CHECK#5
    41 if ((0 | {toString: function() {return 1}}) !== 1) {
    42   $ERROR('#5: (0 | {toString: function() {return 1}}) === 1. Actual: ' + ((0 | {toString: function() {return 1}})));
    43 }
    45 //CHECK#6
    46 if ((0 | {valueOf: function() {return {}}, toString: function() {return 1}}) !== 1) {
    47   $ERROR('#6: (0 | {valueOf: function() {return {}}, toString: function() {return 1}}) === 1. Actual: ' + ((0 | {valueOf: function() {return {}}, toString: function() {return 1}})));
    48 }
    50 //CHECK#7
    51 try {
    52   0 | {valueOf: function() {throw "error"}, toString: function() {return 1}};
    53   $ERROR('#7.1: 0 | {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (0 | {valueOf: function() {throw "error"}, toString: function() {return 1}}));
    54 }  
    55 catch (e) {
    56   if (e !== "error") {
    57     $ERROR('#7.2: 0 | {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (e));
    58   } 
    59 }
    61 //CHECK#8
    62 try {
    63   0 | {valueOf: function() {return {}}, toString: function() {return {}}};
    64   $ERROR('#8.1: 0 | {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (0 | {valueOf: function() {return {}}, toString: function() {return {}}}));
    65 }  
    66 catch (e) {
    67   if ((e instanceof TypeError) !== true) {
    68     $ERROR('#8.2: 0 | {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (e));
    69   } 
    70 }

mercurial