diff options
Diffstat (limited to 'js/src/tests/ecma/Expressions/11.4.7-02.js')
-rw-r--r-- | js/src/tests/ecma/Expressions/11.4.7-02.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/js/src/tests/ecma/Expressions/11.4.7-02.js b/js/src/tests/ecma/Expressions/11.4.7-02.js new file mode 100644 index 000000000..1ff020530 --- /dev/null +++ b/js/src/tests/ecma/Expressions/11.4.7-02.js @@ -0,0 +1,54 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +/** + * File Name: 11.4.7-02.js + * Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=432881 + * Description: ecma 11.4.7 + */ + +var SECTION = "11.4.7"; +var VERSION = "ECMA"; +var TITLE = "Unary - Operator"; +var BUGNUMBER = "432881"; + +startTest(); + +test_negation(0, -0.0); +test_negation(-0.0, 0); +test_negation(1, -1); +test_negation(1.0/0.0, -1.0/0.0); +test_negation(-1.0/0.0, 1.0/0.0); + +//1073741824 == (1 << 30) +test_negation(1073741824, -1073741824); +test_negation(-1073741824, 1073741824); + +//1073741824 == (1 << 30) - 1 +test_negation(1073741823, -1073741823); +test_negation(-1073741823, 1073741823); + +//1073741824 == (1 << 30) +test_negation(1073741824, -1073741824); +test_negation(-1073741824, 1073741824); + +//1073741824 == (1 << 30) - 1 +test_negation(1073741823, -1073741823); +test_negation(-1073741823, 1073741823); + +//2147483648 == (1 << 31) +test_negation(2147483648, -2147483648); +test_negation(-2147483648, 2147483648); + +//2147483648 == (1 << 31) - 1 +test_negation(2147483647, -2147483647); +test_negation(-2147483647, 2147483647); + +function test_negation(value, expected) +{ + var actual = -value; + reportCompare(expected, actual, '-(' + value + ') == ' + expected); +} |