Wed, 31 Dec 2014 13:27:57 +0100
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 returns ToNumber(x) << ToNumber(y)
6 *
7 * @path ch11/11.7/11.7.1/S11.7.1_A3_T2.2.js
8 * @description Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)
9 */
11 //CHECK#1
12 if ("1" << 1 !== 2) {
13 $ERROR('#1: "1" << 1 === 2. Actual: ' + ("1" << 1));
14 }
16 //CHECK#2
17 if (1 << "1" !== 2) {
18 $ERROR('#2: 1 << "1" === 2. Actual: ' + (1 << "1"));
19 }
21 //CHECK#3
22 if (new String("1") << 1 !== 2) {
23 $ERROR('#3: new String("1") << 1 === 2. Actual: ' + (new String("1") << 1));
24 }
26 //CHECK#4
27 if (1 << new String("1") !== 2) {
28 $ERROR('#4: 1 << new String("1") === 2. Actual: ' + (1 << new String("1")));
29 }
31 //CHECK#5
32 if ("1" << new Number(1) !== 2) {
33 $ERROR('#5: "1" << new Number(1) === 2. Actual: ' + ("1" << new Number(1)));
34 }
36 //CHECK#6
37 if (new Number(1) << "1" !== 2) {
38 $ERROR('#6: new Number(1) << "1" === 2. Actual: ' + (new Number(1) << "1"));
39 }
41 //CHECK#7
42 if (new String("1") << new Number(1) !== 2) {
43 $ERROR('#7: new String("1") << new Number(1) === 2. Actual: ' + (new String("1") << new Number(1)));
44 }
46 //CHECK#8
47 if (new Number(1) << new String("1") !== 2) {
48 $ERROR('#8: new Number(1) << new String("1") === 2. Actual: ' + (new Number(1) << new String("1")));
49 }
51 //CHECK#9
52 if ("x" << 1 !== 0) {
53 $ERROR('#9: "x" << 1 === 0. Actual: ' + ("x" << 1));
54 }
56 //CHECK#10
57 if (1 << "x" !== 1) {
58 $ERROR('#10: 1 << "x" === 1. Actual: ' + (1 << "x"));
59 }