js/src/tests/test262/ch11/11.4/11.4.5/S11.4.5_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 uses [[Default Value]]
     6  *
     7  * @path ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
     8  * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
     9  */
    11 //CHECK#1
    12 var object = {valueOf: function() {return 1}};
    13 if (--object !== 1 - 1) {
    14   $ERROR('#1: var object = {valueOf: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
    15 } else {
    16   if (object !== 1 - 1) {
    17     $ERROR('#1: var object = {valueOf: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
    18   }
    19 }
    21 //CHECK#2
    22 var object = {valueOf: function() {return 1}, toString: function() {return 0}};
    23 if (--object !== 1 - 1) {
    24   $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; --object === 1 - 1. Actual: ' + (--object));
    25 } else {
    26   if (object !== 1 - 1) {
    27     $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; --object; object === 1 - 1. Actual: ' + (object));
    28   }
    29 }
    31 //CHECK#3
    32 var object = {valueOf: function() {return 1}, toString: function() {return {}}};
    33 if (--object !== 1 - 1) {
    34   $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; --object === 1 - 1. Actual: ' + (--object));
    35 } else {
    36   if (object !== 1 - 1) {
    37     $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; --object; object === 1 - 1. Actual: ' + (object));
    38   }
    39 }
    41 //CHECK#4
    42 try {
    43   var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
    44   if (--object !== 1 - 1) {
    45     $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object === 1 - 1. Actual: ' + (--object));
    46   } else {
    47     if (object !== 1 - 1) {
    48       $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object; object === 1 - 1. Actual: ' + (object));
    49     }
    50   }
    51 }
    52 catch (e) {
    53   if (e === "error") {
    54     $ERROR('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object not throw "error"');
    55   } else {
    56     $ERROR('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object not throw Error. Actual: ' + (e));
    57   }
    58 }
    60 //CHECK#5
    61 var object = {toString: function() {return 1}};
    62 if (--object !== 1 - 1) {
    63   $ERROR('#5.1: var object = {toString: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
    64 } else {
    65   if (object !== 1 - 1) {
    66     $ERROR('#5.2: var object = {toString: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
    67   }
    68 }
    71 //CHECK#6
    72 var object = {valueOf: function() {return {}}, toString: function() {return 1}}
    73 if (--object !== 1 - 1) {
    74   $ERROR('#6.1: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
    75 } else {
    76   if (object !== 1 - 1) {
    77     $ERROR('#6.2: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
    78   }
    79 }
    81 //CHECK#7
    82 try {
    83   var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
    84   --object;
    85   $ERROR('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; --object throw "error". Actual: ' + (--object));
    86 }  
    87 catch (e) {
    88   if (e !== "error") {
    89     $ERROR('#7.2: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; --object throw "error". Actual: ' + (e));
    90   } 
    91 }
    93 //CHECK#8
    94 try {
    95   var object = {valueOf: function() {return {}}, toString: function() {return {}}};
    96   --object;
    97   $ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; --object throw TypeError. Actual: ' + (--object));
    98 }  
    99 catch (e) {
   100   if ((e instanceof TypeError) !== true) {
   101     $ERROR('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; --object throw TypeError. Actual: ' + (e));
   102   } 
   103 }

mercurial