js/src/tests/test262/ch11/11.3/11.3.1/S11.3.1_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.3/11.3.1/S11.3.1_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 var y = object++;
    14 if (y !== 1) {
    15   $ERROR('#1: var object = {valueOf: function() {return 1}}; var y = object++; y === 1. Actual: ' + (y));
    16 } else {
    17   if (object !== 1 + 1) {
    18     $ERROR('#1: var object = {valueOf: function() {return 1}}; object++; object === 1 + 1. Actual: ' + (object));
    19   }
    20 }
    22 //CHECK#2
    23 var object = {valueOf: function() {return 1}, toString: function() {return 0}};
    24 var y = object++;
    25 if (y !== 1) {
    26   $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; var y = object++; y === 1. Actual: ' + (y));
    27 } else {
    28   if (object !== 1 + 1) {
    29     $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; object++; object === 1 + 1. Actual: ' + (object));
    30   }
    31 }
    33 //CHECK#3
    34 var object = {valueOf: function() {return 1}, toString: function() {return {}}};
    35 var y = object++;
    36 if (y !== 1) {
    37   $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; var y = object++; y === 1. Actual: ' + (y));
    38 } else {
    39   if (object !== 1 + 1) {
    40     $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; object++; object === 1 + 1. Actual: ' + (object));
    41   }
    42 }
    44 //CHECK#4
    45 try {
    46   var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
    47   var y = object++;
    48   if (y !== 1) {
    49     $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; var y = object++; y === 1. Actual: ' + (y));
    50   } else {
    51     if (object !== 1 + 1) {
    52       $ERROR('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; object++; object === 1 + 1. Actual: ' + (object));
    53     }
    54   }
    55 }
    56 catch (e) {
    57   if (e === "error") {
    58     $ERROR('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; var y = object++; y not throw "error"');
    59   } else {
    60     $ERROR('#4.4: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; var y = object++; y not throw Error. Actual: ' + (e));
    61   }
    62 }
    64 //CHECK#5
    65 var object = {toString: function() {return 1}};
    66 var y = object++;
    67 if (y !== 1) {
    68   $ERROR('#5.1: var object = {toString: function() {return 1}}; var y = object++; y === 1. Actual: ' + (y));
    69 }  else {
    70   if (object !== 1 + 1) {
    71     $ERROR('#5.2: var object = {toString: function() {return 1}}; object++; object === 1 + 1. Actual: ' + (object));
    72   }
    73 }
    76 //CHECK#6
    77 var object = {valueOf: function() {return {}}, toString: function() {return 1}}
    78 var y = object++;
    79 if (y !== 1) {
    80   $ERROR('#6.1: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; var y = object++; y === 1. Actual: ' + (y));
    81 } else {
    82   if (object !== 1 + 1) {
    83     $ERROR('#6.2: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; object++; object === 1 + 1. Actual: ' + (object));
    84   }
    85 }
    87 //CHECK#7
    88 try {
    89   var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
    90   var y = object++;
    91   $ERROR('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; object++ throw "error". Actual: ' + (y));
    92 }  
    93 catch (e) {
    94   if (e !== "error") {
    95     $ERROR('#7.2: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; object++ throw "error". Actual: ' + (e));
    96   } 
    97 }
    99 //CHECK#8
   100 try {
   101   var object = {valueOf: function() {return {}}, toString: function() {return {}}};
   102   var y = object++;
   103   $ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; object++ throw TypeError. Actual: ' + (y));
   104 }  
   105 catch (e) {
   106   if ((e instanceof TypeError) !== true) {
   107     $ERROR('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; object++ throw TypeError. Actual: ' + (e));
   108   } 
   109 }

mercurial