js/src/tests/test262/ch11/11.7/11.7.2/S11.7.2_A2.2_T1.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     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.7/11.7.2/S11.7.2_A2.2_T1.js
     8  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
     9  */
    11 //CHECK#1
    12 if ({valueOf: function() {return -4}} >> 1 !== -2) {
    13   $ERROR('#1: {valueOf: function() {return -4}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}} >> 1));
    14 }
    16 //CHECK#2
    17 if ({valueOf: function() {return -4}, toString: function() {return 0}} >> 1 !== -2) {
    18   $ERROR('#2: {valueOf: function() {return -4}, toString: function() {return 0}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {return 0}} >> 1));
    19 }
    21 //CHECK#3
    22 if ({valueOf: function() {return -4}, toString: function() {return {}}} >> 1 !== -2) {
    23   $ERROR('#3: {valueOf: function() {return -4}, toString: function() {return {}}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {return {}}} >> 1));
    24 }
    26 //CHECK#4
    27 try {
    28   if ({valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 !== -2) {
    29     $ERROR('#4.1: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 === -2. Actual: ' + ({valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1));
    30   }
    31 }
    32 catch (e) {
    33   if (e === "error") {
    34     $ERROR('#4.2: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 not throw "error"');
    35   } else {
    36     $ERROR('#4.3: {valueOf: function() {return -4}, toString: function() {throw "error"}} >> 1 not throw Error. Actual: ' + (e));
    37   }
    38 }
    40 //CHECK#5
    41 if (-4 >> {toString: function() {return 1}} !== -2) {
    42   $ERROR('#5: -4 >> {toString: function() {return 1}} === -2. Actual: ' + (-4 >> {toString: function() {return 1}}));
    43 }
    45 //CHECK#6
    46 if (-4 >> {valueOf: function() {return {}}, toString: function() {return 1}} !== -2) {
    47   $ERROR('#6: -4 >> {valueOf: function() {return {}}, toString: function() {return 1}} === -2. Actual: ' + (-4 >> {valueOf: function() {return {}}, toString: function() {return 1}}));
    48 }
    50 //CHECK#7
    51 try {
    52   -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}};
    53   $ERROR('#7.1: -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (-4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}}));
    54 }  
    55 catch (e) {
    56   if (e !== "error") {
    57     $ERROR('#7.2: -4 >> {valueOf: function() {throw "error"}, toString: function() {return 1}} throw "error". Actual: ' + (e));
    58   } 
    59 }
    61 //CHECK#8
    62 try {
    63   -4 >> {valueOf: function() {return {}}, toString: function() {return {}}};
    64   $ERROR('#8.1: -4 >> {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (-4 >> {valueOf: function() {return {}}, toString: function() {return {}}}));
    65 }  
    66 catch (e) {
    67   if ((e instanceof TypeError) !== true) {
    68     $ERROR('#8.2: -4 >> {valueOf: function() {return {}}, toString: function() {return {}}} throw TypeError. Actual: ' + (e));
    69   } 
    70 }

mercurial