js/src/jit-test/tests/ion/bug766218.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 // Test strict-equality with a constant boolean.
     2 function test1() {
     3     var a = [{}, false, true, 0];
     4     var res = 0;
     6     for (var i=0; i<100; i++) {
     7         if (a[i % 4] === false)
     8             res += 1;
     9     }
    10     assertEq(res, 25);
    12     res = 0;
    13     for (var i=0; i<100; i++) {
    14         if (true !== a[i % 4])
    15             res += 1;
    16     }
    17     assertEq(res, 75);
    19     res = 0;
    20     for (var i=0; i<100; i++) {
    21         res += (a[i % 4] === true);
    22     }
    23     assertEq(res, 25);
    25     res = 0;
    26     for (var i=0; i<100; i++) {
    27         res += (false !== a[i % 4]);
    28     }
    29     assertEq(res, 75);
    30 }
    31 test1();
    33 // Test strict-equality with non-constant boolean.
    34 var TRUE = true;
    35 var FALSE = false;
    37 function test2() {
    38     var a = [{}, false, true, 0];
    39     var res = 0;
    41     for (var i=0; i<100; i++) {
    42         if (a[i % 4] === FALSE)
    43             res += 1;
    44     }
    45     assertEq(res, 25);
    47     res = 0;
    48     for (var i=0; i<100; i++) {
    49         if (TRUE !== a[i % 4])
    50             res += 1;
    51     }
    52     assertEq(res, 75);
    54     res = 0;
    55     for (var i=0; i<100; i++) {
    56         res += (a[i % 4] === TRUE);
    57     }
    58     assertEq(res, 25);
    60     res = 0;
    61     for (var i=0; i<100; i++) {
    62         res += (FALSE !== a[i % 4]);
    63     }
    64     assertEq(res, 75);
    65 }
    66 test2();

mercurial