| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| var test = 1; |
| function fail(n, expected, result) { WScript.Echo("failure in test " + test + "; expected " + expected + ", got " + result); } |
| function test0() { |
| var x; |
| var y; |
| var result; |
| var check; |
| // Test 0: argument is a variable |
| x = 0; |
| result = (- x); |
| check = 0; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 1: argument is a constant |
| result = (- 0); |
| check = 0 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 2: argument is a variable |
| x = 1; |
| result = (- x); |
| check = -1; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 3: argument is a constant |
| result = (- 1); |
| check = -1 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 4: argument is a variable |
| x = -1; |
| result = (- x); |
| check = 1; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 5: argument is a constant |
| result = (- -1); |
| check = 1 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 6: argument is a variable |
| x = 2; |
| result = (- x); |
| check = -2; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 7: argument is a constant |
| result = (- 2); |
| check = -2 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 8: argument is a variable |
| x = -2; |
| result = (- x); |
| check = 2; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 9: argument is a constant |
| result = (- -2); |
| check = 2 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 10: argument is a variable |
| x = 3; |
| result = (- x); |
| check = -3; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 11: argument is a constant |
| result = (- 3); |
| check = -3 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 12: argument is a variable |
| x = -3; |
| result = (- x); |
| check = 3; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 13: argument is a constant |
| result = (- -3); |
| check = 3 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 14: argument is a variable |
| x = 4; |
| result = (- x); |
| check = -4; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 15: argument is a constant |
| result = (- 4); |
| check = -4 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 16: argument is a variable |
| x = -4; |
| result = (- x); |
| check = 4; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 17: argument is a constant |
| result = (- -4); |
| check = 4 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 18: argument is a variable |
| x = 8; |
| result = (- x); |
| check = -8; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 19: argument is a constant |
| result = (- 8); |
| check = -8 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 20: argument is a variable |
| x = -8; |
| result = (- x); |
| check = 8; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 21: argument is a constant |
| result = (- -8); |
| check = 8 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 22: argument is a variable |
| x = 1073741822; |
| result = (- x); |
| check = -1073741822; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 23: argument is a constant |
| result = (- 1073741822); |
| check = -1073741822 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 24: argument is a variable |
| x = 1073741823; |
| result = (- x); |
| check = -1073741823; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 25: argument is a constant |
| result = (- 1073741823); |
| check = -1073741823 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 26: argument is a variable |
| x = 1073741824; |
| result = (- x); |
| check = -1073741824; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 27: argument is a constant |
| result = (- 1073741824); |
| check = -1073741824 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 28: argument is a variable |
| x = 1073741825; |
| result = (- x); |
| check = -1073741825; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 29: argument is a constant |
| result = (- 1073741825); |
| check = -1073741825 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 30: argument is a variable |
| x = -1073741823; |
| result = (- x); |
| check = 1073741823; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 31: argument is a constant |
| result = (- -1073741823); |
| check = 1073741823 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 32: argument is a variable |
| x = (-0x3fffffff-1); |
| result = (- x); |
| check = 1073741824; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 33: argument is a constant |
| result = (- (-0x3fffffff-1)); |
| check = 1073741824 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 34: argument is a variable |
| x = -1073741825; |
| result = (- x); |
| check = 1073741825; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 35: argument is a constant |
| result = (- -1073741825); |
| check = 1073741825 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 36: argument is a variable |
| x = -1073741826; |
| result = (- x); |
| check = 1073741826; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 37: argument is a constant |
| result = (- -1073741826); |
| check = 1073741826 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 38: argument is a variable |
| x = 2147483646; |
| result = (- x); |
| check = -2147483646; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 39: argument is a constant |
| result = (- 2147483646); |
| check = -2147483646 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 40: argument is a variable |
| x = 2147483647; |
| result = (- x); |
| check = -2147483647; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 41: argument is a constant |
| result = (- 2147483647); |
| check = -2147483647 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 42: argument is a variable |
| x = 2147483648; |
| result = (- x); |
| check = -2147483648; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 43: argument is a constant |
| result = (- 2147483648); |
| check = -2147483648 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 44: argument is a variable |
| x = 2147483649; |
| result = (- x); |
| check = -2147483649; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 45: argument is a constant |
| result = (- 2147483649); |
| check = -2147483649 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 46: argument is a variable |
| x = -2147483647; |
| result = (- x); |
| check = 2147483647; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 47: argument is a constant |
| result = (- -2147483647); |
| check = 2147483647 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 48: argument is a variable |
| x = -2147483648; |
| result = (- x); |
| check = 2147483648; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 49: argument is a constant |
| result = (- -2147483648); |
| check = 2147483648 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 50: argument is a variable |
| x = -2147483649; |
| result = (- x); |
| check = 2147483649; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 51: argument is a constant |
| result = (- -2147483649); |
| check = 2147483649 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 52: argument is a variable |
| x = -2147483650; |
| result = (- x); |
| check = 2147483650; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 53: argument is a constant |
| result = (- -2147483650); |
| check = 2147483650 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 54: argument is a variable |
| x = 4294967295; |
| result = (- x); |
| check = -4294967295; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 55: argument is a constant |
| result = (- 4294967295); |
| check = -4294967295 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 56: argument is a variable |
| x = 4294967296; |
| result = (- x); |
| check = -4294967296; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 57: argument is a constant |
| result = (- 4294967296); |
| check = -4294967296 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 58: argument is a variable |
| x = -4294967295; |
| result = (- x); |
| check = 4294967295; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 59: argument is a constant |
| result = (- -4294967295); |
| check = 4294967295 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| // Test 60: argument is a variable |
| x = -4294967296; |
| result = (- x); |
| check = 4294967296; |
| if(result != check) { fail(test, check, result); } ++test; |
| |
| // Test 61: argument is a constant |
| result = (- -4294967296); |
| check = 4294967296 |
| if(result != check) {{ fail(test, check, result); }} ++test; |
| |
| } |
| test0(); |
| WScript.Echo("done"); |