blob: 6b613fb6668869340be66e0453932d9218b123fb [file] [log] [blame]
mark.lam@apple.com8aa68232015-11-04 01:03:06 +00001//@ runFTLNoCJIT
2
mark.lam@apple.com8aa68232015-11-04 01:03:06 +00003// If all goes well, this test module will terminate silently. If not, it will print
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +00004// errors. See binary-op-test.js for debugging options if needed.
mark.lam@apple.com8aa68232015-11-04 01:03:06 +00005
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +00006load("./resources/binary-op-test.js");
7
8//============================================================================
9// Test configuration data:
10
11var opName = "add";
12var op = "+";
mark.lam@apple.com8aa68232015-11-04 01:03:06 +000013
14var o1 = {
15 valueOf: function() { return 10; }
16};
17
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +000018var posInfinity = 1 / 0;
19var negInfinity = -1 / 0;
20
21var values = [
mark.lam@apple.com8aa68232015-11-04 01:03:06 +000022 'o1',
23 'null',
24 'undefined',
mark.lam@apple.com8aa68232015-11-04 01:03:06 +000025 'true',
26 'false',
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +000027
28 'NaN',
29 'posInfinity',
30 'negInfinity',
31 '100.2', // Some random small double value.
32 '-100.2',
33 '54294967296.2923', // Some random large double value.
34 '-54294967296.2923',
35
36 '0',
37 '-0',
38 '1',
39 '-1',
40 '0x3fff',
41 '-0x3fff',
42 '0x7fff',
43 '-0x7fff',
44 '0x10000',
45 '-0x10000',
46 '0x7ffffff',
47 '-0x7ffffff',
48 '0x100000000',
49 '-0x100000000',
50
51 '"abc"',
52 '"0"',
53 '"-0"',
54 '"1"',
55 '"-1"',
mark.lam@apple.com8aa68232015-11-04 01:03:06 +000056];
57
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +000058tests = [];
59generateBinaryTests(tests, opName, op, "VarVar", values, values);
60generateBinaryTests(tests, opName, op, "VarConst", values, values);
61generateBinaryTests(tests, opName, op, "ConstVar", values, values);
mark.lam@apple.com8aa68232015-11-04 01:03:06 +000062
mark.lam@apple.com1b4f1612015-11-19 23:32:09 +000063run();