aboutsummaryrefslogtreecommitdiffstats
path: root/website/resources/scripts/testcases2/9.5_ToInt32.json
blob: 6e33c91525ff30b714525a23c64f96d3a91d7486 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{
 "testCollection": {
  "name": "9.5_ToInt32",
  "numTests": 13,
  "tests": [
   {
    "section": "9.5, 11.7.1",
    "description": "For testing use operator <<0",
    "test": "// CHECK#1\nif ((Number.NaN << 0) !== +0) {\n  $ERROR('#1.1: (Number.NaN << 0) === 0. Actual: ' + ((Number.NaN << 0)));\n} else if (1/(Number.NaN << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR('#1.2: (Number.NaN << 0) === +0. Actual: -0');\n}\n\n// CHECK#2\nif ((Number(\"abc\") << 0) !== +0) {\n  $ERROR('#2.1: (Number(\"abc\") << 0) === 0. Actual: ' + ((Number(\"abc\") << 0)));\n} else if (1/(0 << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR('#2.2: (0 << 0) === +0. Actual: -0');\n}\n\n// CHECK#3\nif ((0 << 0) !== +0) {\n  $ERROR('#3.1: (0 << 0) === 0. Actual: ' + ((0 << 0)));\n} else if (1/(0 << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR('#3.2: (0 << 0) === +0. Actual: -0');\n}\n\n// CHECK#4\nif ((-0 << 0) !== +0) {\n  $ERROR(\"#4.1: (-0 << 0) === 0\");\n} else if (1/(-0 << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR(\"#4.2: (-0 << 0) === +0. Actual: -0\");\n}\n\n// CHECK#5\nif ((Number.POSITIVE_INFINITY << 0) !== +0) {\n  $ERROR('#5.1: (Number.POSITIVE_INFINITY << 0) === 0. Actual: ' + ((Number.POSITIVE_INFINITY << 0)));\n} else if (1/(Number.POSITIVE_INFINITY << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR('#5.2: (Number.POSITIVE_INFINITY << 0) === +0. Actual: -0');\n}\n\n// CHECK#6\nif ((Number.NEGATIVE_INFINITY << 0) !== +0) {\n  $ERROR(\"#6.1: (Number.NEGATIVE_INFINITY << 0) === 0\");\n} else if (1/(Number.NEGATIVE_INFINITY << 0) !== Number.POSITIVE_INFINITY) {\n  $ERROR(\"#6.2: (Number.NEGATIVE_INFINITY << 0) === +0. Actual: -0\");\n}\n",
    "id": "S9.5_A1_T1"
   },
   {
    "section": "9.5, 11.7.1",
    "description": "Converting some numbers, which are in\\outside of Int32 scopes, with <<0 operator",
    "test": "// CHECK#1\nif ((-2147483647 << 0) !== -2147483647) {\n  $ERROR('#1: (-2147483647 << 0) === -2147483647. Actual: ' + ((-2147483647 << 0)));\n}\n\n// CHECK#2\nif ((-2147483648 << 0) !== -2147483648) {\n  $ERROR('#2: (-2147483648 << 0) === -2147483648. Actual: ' + ((-2147483648 << 0)));\n}\n\n// CHECK#3\nif ((-2147483649 << 0) !== 2147483647) {\n  $ERROR('#3: (-2147483649 << 0) === 2147483647. Actual: ' + ((-2147483649 << 0)));\n}\n\n// CHECK#4\nif ((-4294967296 << 0) !== 0) {\n  $ERROR('#4: (-4294967296 << 0) === 0. Actual: ' + ((-4294967296 << 0)));\n}\n\n// CHECK#5\nif ((2147483646 << 0) !== 2147483646) {\n  $ERROR('#5: (2147483646 << 0) === 2147483646. Actual: ' + ((2147483646 << 0)));\n}\n\n// CHECK#6\nif ((2147483647 << 0) !== 2147483647) {\n  $ERROR('#6: (2147483647 << 0) === 2147483647. Actual: ' + ((2147483647 << 0)));\n}\n\n// CHECK#7\nif ((2147483648 << 0) !== -2147483648) {\n  $ERROR('#7: (2147483648 << 0) === -2147483648. Actual: ' + ((2147483648 << 0)));\n}\n\n// CHECK#8\nif ((4294967296 << 0) !== 0) {\n  $ERROR('#8: (4294967296 << 0) === 0. Actual: ' + ((4294967296 << 0)));\n}\n",
    "id": "S9.5_A2.1_T1"
   },
   {
    "section": "9.5, 11.4.8",
    "description": "Converting some numbers, which are in\\outside of Int32 scopes, with  ~ operator",
    "test": "// CHECK#1\nif (~-2147483649 !== ~2147483647) {\n  $ERROR('#1: ~-2147483649 === ~2147483647');\n}\n\n// CHECK#2\nif (~-4294967296 !== ~0) {\n  $ERROR('#2: ~-4294967296 === ~0');\n}\n\n// CHECK#3\nif (~2147483648 !== ~-2147483648) {\n  $ERROR('#3: ~2147483648 === ~-2147483648');\n}\n\n// CHECK#4\nif (~4294967296 !== ~0) {\n  $ERROR('#4: ~4294967296 === ~0');\n}\n",
    "id": "S9.5_A2.1_T2"
   },
   {
    "section": "9.5, 11.7.1",
    "description": "Use operator <<0",
    "test": "// CHECK#1\nif ((-2147483647 << 0) !== -2147483647) {\n  $ERROR('#1: (-2147483647 << 0) === -2147483647. Actual: ' + ((-2147483647 << 0)));\n}\n\n// CHECK#2\nif ((-2147483648 << 0) !== -2147483648) {\n  $ERROR('#2: (-2147483648 << 0) === -2147483648. Actual: ' + ((-2147483648 << 0)));\n}\n\n// CHECK#3\nif ((-2147483649 << 0) !== 2147483647) {\n  $ERROR('#3: (-2147483649 << 0) === 2147483647. Actual: ' + ((-2147483649 << 0)));\n}\n\n// CHECK#4\nif ((4294967295 << 0) !== -1) {\n  $ERROR('#4: (4294967295 << 0) === -1. Actual: ' + ((4294967295 << 0)));\n}\n\n// CHECK#5\nif ((4294967296 << 0) !== 0) {\n  $ERROR('#5: (4294967296 << 0) === 0. Actual: ' + ((4294967296 << 0)));\n}\n\n// CHECK#6\nif ((4294967297 << 0) !== 1) {\n  $ERROR('#6: (4294967297 << 0) === 1. Actual: ' + ((4294967297 << 0)));\n}\n\n// CHECK#7\nif ((-4294967295 << 0) !== 1) {\n  $ERROR('#7: (-4294967295 << 0) === 1. Actual: ' + ((-4294967295 << 0)));\n}\n\n// CHECK#8\nif ((-4294967296 << 0) !== 0) {\n  $ERROR('#8: (-4294967296 << 0) === 0. Actual: ' + ((-4294967296 << 0)));\n}\n\n// CHECK#9\nif ((-4294967297 << 0) !== -1) {\n  $ERROR('#9: (-4294967297 << 0) === -1. Actual: ' + ((-4294967297 << 0)));\n}\n\n// CHECK#10\nif ((8589934591 << 0) !== -1) {\n  $ERROR('#10: (8589934591 << 0) === -1. Actual: ' + ((8589934591 << 0)));\n}\n\n// CHECK#11\nif ((8589934592 << 0) !== 0) {\n  $ERROR('#11: (8589934592 << 0) === 0. Actual: ' + ((8589934592 << 0)));\n}\n\n// CHECK#12\nif ((8589934593 << 0) !== 1) {\n  $ERROR('#12: (8589934593 << 0) === 1. Actual: ' + ((8589934593 << 0)));\n}\n",
    "id": "S9.5_A2.2_T1"
   },
   {
    "section": "9.5, 11.4.8",
    "description": "Use operator ~",
    "test": "// CHECK#1\nif (~-2147483647 !== 2147483646) {\n  $ERROR('#1: ~-2147483647 === 2147483646)');\n}\n\n// CHECK#2\nif (~-2147483648 !== ~-2147483648) {\n  $ERROR('#2: ~-2147483648 ==== ~-2147483648)');\n}\n\n// CHECK#3\nif (~-2147483649 !== ~2147483647) {\n  $ERROR('#3: ~-2147483649 ==== ~2147483647)');\n}\n\n// CHECK#4\nif ((~4294967295 << 0) !== ~-1) {\n  $ERROR('#4: (~4294967295 << 0) === ~-1)');\n}\n\n// CHECK#5\nif ((~4294967296 << 0) !== ~0) {\n  $ERROR('#5: (~4294967296 << 0) === ~0)');\n}\n\n// CHECK#6\nif ((~4294967297 << 0) !== ~1) {\n  $ERROR('#6: (~4294967297 << 0) === ~1)');\n}\n\n// CHECK#7\nif ((~-4294967295 << 0) !== ~1) {\n  $ERROR('#7: (~-4294967295 << 0) === ~1)');\n}\n\n// CHECK#8\nif ((~-4294967296 << 0) !== ~0) {\n  $ERROR('#8: (~-4294967296 << 0) === ~0)');\n}\n\n// CHECK#9\nif ((~-4294967297 << 0) !== ~-1) {\n  $ERROR('#9: (~-4294967297 << 0) === ~-1)');\n}\n\n// CHECK#10\nif ((~8589934591 << 0) !== ~-1) {\n  $ERROR('#10: (~8589934591 << 0) === ~-1)');\n}\n\n// CHECK#11\nif ((~8589934592 << 0) !== ~0) {\n  $ERROR('#11: (~8589934592 << 0) === ~0)');\n}\n\n// CHECK#12\nif ((~8589934593 << 0) !== ~1) {\n  $ERROR('#12: (~8589934593 << 0) === ~1)');\n}\n",
    "id": "S9.5_A2.2_T2"
   },
   {
    "section": "9.5, 11.7.1",
    "description": "Use operator <<0",
    "test": "// CHECK#1\nif ((2147483647 << 0) !== 2147483647) {\n  $ERROR('#1: (2147483647 << 0) === 2147483647. Actual: ' + ((2147483647 << 0)));\n}\n\n// CHECK#2\nif ((2147483648 << 0) !== -2147483648) {\n  $ERROR('#2: (2147483648 << 0) === -2147483648. Actual: ' + ((2147483648 << 0)));\n}\n\n// CHECK#3\nif ((2147483649 << 0) !== -2147483647) {\n  $ERROR('#3: (2147483649 << 0) === -2147483647. Actual: ' + ((2147483649 << 0)));\n}\n\n// CHECK#4\nif ((4294967295 << 0) !== -1) {\n  $ERROR('#4: (4294967295 << 0) === -1. Actual: ' + ((4294967295 << 0)));\n}\n\n// CHECK#5\nif ((4294967296 << 0) !== 0) {\n  $ERROR('#5: (4294967296 << 0) === 0. Actual: ' + ((4294967296 << 0)));\n}\n\n// CHECK#6\nif ((4294967297 << 0) !== 1) {\n  $ERROR('#6: (4294967297 << 0) === 1. Actual: ' + ((4294967297 << 0)));\n}\n\n\n",
    "id": "S9.5_A2.3_T1"
   },
   {
    "section": "9.5, 11.4.8",
    "description": "Use operator ~",
    "test": "// CHECK#1\nif (~2147483647 !== -2147483648) {\n  $ERROR('#1: ~2147483647 ==== -2147483648)');\n}\n\n// CHECK#2\nif (~2147483648 !== ~-2147483648) {\n  $ERROR('#2: ~2147483648 ==== ~-2147483648)');\n}\n\n// CHECK#3\nif (~2147483649 !== ~-2147483647) {\n  $ERROR('#3: ~2147483649 ==== ~-2147483647)');\n}\n\n// CHECK#4\nif (~4294967295 !== ~-1) {\n  $ERROR('#4: ~4294967295 ==== ~-1)');\n}\n\n// CHECK#5\nif (~4294967296 !== ~0) {\n  $ERROR('#5: ~4294967296 ==== ~0)');\n}\n\n// CHECK#6\nif (~4294967297 !== ~1) {\n  $ERROR('#6: ~4294967297 ==== ~1)');\n}\n",
    "id": "S9.5_A2.3_T2"
   },
   {
    "section": "9.5",
    "description": "Type(x) is Boolean",
    "test": "// CHECK#1\nif ((new Boolean(true) << 0) !== 1) {\n  $ERROR('#1: (new Boolean(true) << 0) === 1. Actual: ' + ((new Boolean(true) << 0)));\n}\n\n// CHECK#2\nif ((false << 0) !== 0) {\n  $ERROR('#2: (false << 0) === 0. Actual: ' + ((false << 0)));\n}\n",
    "id": "S9.5_A3.1_T1"
   },
   {
    "section": "9.5",
    "description": "Type(x) is Number",
    "test": "// CHECK#1\nif ((new Number(1) << 0) !== 1) {\n  $ERROR('#1: (new Number(1) << 0) === 1. Actual: ' + ((new Number(1) << 0)));\n}\n\n// CHECK#2\nif ((-1.234 << 0) !== -1) {\n  $ERROR('#2: (-1.234 << 0) === -1. Actual: ' + ((-1.234 << 0)));\n}\n",
    "id": "S9.5_A3.1_T2"
   },
   {
    "section": "9.5",
    "description": "Type(x) is String",
    "test": "// CHECK#1\nif ((new String(1) << 0) !== 1) {\n  $ERROR('#1: (new String(1) << 0) === 1. Actual: ' + ((new String(1) << 0)));\n}\n\n// CHECK#2\nif ((\"-1.234\" << 0) !== -1) {\n  $ERROR('#2: (\"-1.234\" << 0) === -1. Actual: ' + ((\"-1.234\" << 0)));\n}\n",
    "id": "S9.5_A3.1_T3"
   },
   {
    "section": "9.5",
    "description": "Type(x) is Object",
    "test": "//CHECK#1\nvar object = {valueOf: function() {return 1}};\nif (~object !== ~1) {\n  $ERROR('#1: var object = {valueOf: function() {return 1}}; ~object === ~1');\n}\n\n//CHECK#2\nvar object = {valueOf: function() {return 1}, toString: function() {return 0}};\nif (~object !== ~1) {\n  $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; ~object === ~1');\n} \n\n//CHECK#3\nvar object = {valueOf: function() {return 1}, toString: function() {return {}}};\nif (~object !== ~1) {\n  $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; ~object === ~1');\n}\n\n//CHECK#4\ntry {\n  var object = {valueOf: function() {return 1}, toString: function() {throw \"error\"}};\n  if (~object !== ~1) {\n    $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw \"error\"}}; ~object === ~1');\n  }\n}\ncatch (e) {\n  if (e === ~\"error\") {\n    $ERROR('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw \"error\"}}; ~object not throw \"error\"');\n  } else {\n    $ERROR('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw \"error\"}}; ~object not throw Error. Actual: ' + (e));\n  }\n}\n\n//CHECK#5\nvar object = {toString: function() {return 1}};\nif (~object !== ~1) {\n  $ERROR('#5: var object = {toString: function() {return 1}}; ~object === ~1');\n}\n\n//CHECK#6\nvar object = {valueOf: function() {return {}}, toString: function() {return 1}}\nif (~object !== ~1) {\n  $ERROR('#6: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; ~object === ~1');\n}\n\n//CHECK#7\ntry {\n  var object = {valueOf: function() {throw \"error\"}, toString: function() {return 1}};\n  ~object;\n  $ERROR('#7.1: var object = {valueOf: function() {throw \"error\"}, toString: function() {return 1}}; ~object throw \"error\". Actual: ' + (~object));\n}  \ncatch (e) {\n  if (e !== \"error\") {\n    $ERROR('#7.2: var object = {valueOf: function() {throw \"error\"}, toString: function() {return 1}}; ~object throw \"error\". Actual: ' + (e));\n  } \n}\n\n//CHECK#8\ntry {\n  var object = {valueOf: function() {return {}}, toString: function() {return {}}};\n  ~object;\n  $ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; ~object throw TypeError. Actual: ' + (~object));\n}  \ncatch (e) {\n  if ((e instanceof TypeError) !== true) {\n    $ERROR('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; ~object throw TypeError. Actual: ' + (e));\n  } \n}\n",
    "id": "S9.5_A3.1_T4"
   },
   {
    "section": "9.5",
    "description": "Use operator <<0",
    "test": "// CHECK#1\nif ((1.2345 << 0) !== 1) {\n  $ERROR('#1: (1.2345 << 0) === 1. Actual: ' + ((1.2345 << 0)));\n}\n\n// CHECK#2\nif ((-5.4321 << 0) !== -5) {\n  $ERROR('#2: (-5.4321 << 0) === -5. Actual: ' + ((-5.4321 << 0)));\n}\n",
    "id": "S9.5_A3.2_T1"
   },
   {
    "section": "9.5",
    "description": "Use operator ~",
    "test": "// CHECK#1\nif (~1.2345 !== ~1) {\n  $ERROR('#1: ~1.2345 === ~1)');\n}\n\n// CHECK#2\nif (~-5.4321 !== ~-5) {\n  $ERROR('#2: ~-5.4321 === ~-5)');\n}\n",
    "id": "S9.5_A3.2_T2"
   }
  ]
 }
}