aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite/sputnik_converted/11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A2.1_T1.js
blob: 4845bc1d7f16f635c644fa0d89507484aad19475 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
* @name: S11.4.6_A2.1_T1;
* @section: 11.4.6;
* @assertion: Operator +x uses GetValue;
* @description: Either Type(x) is not Reference or GetBase(x) is not null;
*/


// Converted for Test262 from original Sputnik source

ES5Harness.registerTest( {
id: "S11.4.6_A2.1_T1",

path: "TestCases/11_Expressions/11.4_Unary_Operators/11.4.6_Unary_plus_Operator/S11.4.6_A2.1_T1.js",

assertion: "Operator +x uses GetValue",

description: "Either Type(x) is not Reference or GetBase(x) is not null",

test: function testcase() {
   //CHECK#1
if (+1 !== 1) {
  $ERROR('#1: +1 === 1. Actual: ' + (+1));
}

//CHECK#2
if (+(+1) !== 1) {
  $ERROR('#2: +(+1) === -1. Actual: ' + (+(+1)));
}

//CHECK#3
var x = 1;
if (+x !== 1) {
  $ERROR('#3: var x = +1; -x === 1. Actual: ' + (-x));
}

//CHECK#4
var x = 1;
if (+(+x) !== 1) {
  $ERROR('#4: var x = 1; +(+x) === 1. Actual: ' + (+(+x)));
}

//CHECK#5
var object = new Object();
object.prop = 1;
if (+object.prop !== 1) {
  $ERROR('#5: var object = new Object(); object.prop = 1; +object.prop === 1. Actual: ' + (+object.prop));
}

 }
});