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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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