blob: 6d0888e425470e5ce4f406c8769d8f517acc036f [file] [log] [blame]
//@ runFTLNoCJIT
// If all goes well, this test module will terminate silently. If not, it will print
// errors. See binary-op-test.js for debugging options if needed.
load("./resources/binary-op-test.js");
//============================================================================
// Test configuration data:
var opName = "urshift";
var op = ">>>";
var o1 = {
valueOf: function() { return 10; }
};
var posInfinity = 1 / 0;
var negInfinity = -1 / 0;
var values = [
'o1',
'null',
'undefined',
'true',
'false',
'NaN',
'posInfinity',
'negInfinity',
'100.2', // Some random small double value.
'-100.2',
'2147483647.5', // Value that will get truncated down to 0x7fffffff.
'-2147483647.5',
'54294967296.2923', // Some random large double value.
'-54294967296.2923',
'0',
'-0',
'1',
'-1',
'5',
'-5',
'31',
'-31',
'32',
'-32',
'0x3fff',
'-0x3fff',
'0x7fff',
'-0x7fff',
'0x10000',
'-0x10000',
'0x7fffffff',
'-0x7fffffff',
'0x100000000',
'-0x100000000',
'"abc"',
'"0"',
'"-0"',
'"1"',
'"-1"',
'"5"',
'"-5"',
'"31"',
'"-31"',
'"32"',
'"-32"',
'"0x3fff"',
'"-0x3fff"',
];
tests = [];
generateBinaryTests(tests, opName, op, "VarVar", values, values);
generateBinaryTests(tests, opName, op, "VarConst", values, values);
generateBinaryTests(tests, opName, op, "ConstVar", values, values);
run();