js/src/tests/test262/ch11/11.6/11.6.1/S11.6.1_A2.2_T3.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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.6/11.6.1/S11.6.1_A2.2_T3.js
     8  * @description If Type(value) is Function, evaluate ToPrimitive(value, Number)
     9  */
    11 //CHECK#1
    12 function f1(){
    13   return 0;
    14 }
    15 if (f1 + 1 !== f1.toString() + 1) {
    16   $ERROR('#1: function f1() {return 0;}; f1 + 1 === f1.toString() + 1');
    17 }
    19 //CHECK#2
    20 function f2(){
    21   return 0;
    22 }
    23 f2.valueOf = function() {return 1;};
    24 if (1 + f2 !== 1 + 1) {
    25   $ERROR('#2: f1unction f2() {return 0;} f2.valueOf = function() {return 1;}; 1 + f2 === 1 + 1. Actual: ' + (1 + f2));
    26 }
    28 //CHECK#3
    29 function f3(){
    30   return 0;
    31 }
    32 f3.toString = function() {return 1;};
    33 if (1 + f3 !== 1 + 1) {
    34   $ERROR('#3: f1unction f3() {return 0;} f3.toString() = function() {return 1;}; 1 + f3 === 1 + 1. Actual: ' + (1 + f3));
    35 }
    37 //CHECK#4
    38 function f4(){
    39   return 0;
    40 }
    41 f4.valueOf = function() {return -1;};
    42 f4.toString = function() {return 1;};
    43 if (f4 + 1 !== 1 - 1) {
    44   $ERROR('#4: f1unction f4() {return 0;}; f2.valueOf = function() {return -1;}; f4.toString() = function() {return 1;}; f4 + 1 === 1 - 1. Actual: ' + (f4 + 1));
    45 }

mercurial