js/src/jit-test/tests/basic/bug744285.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 // |jit-test| error: TypeError;
     2 var TZ_DIFF = getTimeZoneDiff();
     3 var now = new Date;
     4 var TZ_DIFF = getTimeZoneDiff();
     5 var now = new Date;
     6 var MAX_UNIX_TIMET = 2145859200;
     7 var RANGE_EXPANSION_AMOUNT = 60;
     8 function tzOffsetFromUnixTimestamp(timestamp) {
     9     new Date
    10   }
    11 function clearDSTOffsetCache(undesiredTimestamp) {
    12     tzOffsetFromUnixTimestamp()
    13     tzOffsetFromUnixTimestamp()
    14     tzOffsetFromUnixTimestamp()
    15     tzOffsetFromUnixTimestamp()
    16     tzOffsetFromUnixTimestamp()
    17   }
    18 function computeCanonicalTZOffset(timestamp) {
    19     clearDSTOffsetCache()
    20     tzOffsetFromUnixTimestamp()
    21   }
    22 var TEST_TIMESTAMPS_SECONDS = [
    23      0,
    24      RANGE_EXPANSION_AMOUNT,
    25      MAX_UNIX_TIMET,
    26     ];
    27 var TEST_TIMESTAMPS = TEST_TIMESTAMPS_SECONDS.map(function(v) {  });
    28 var CORRECT_TZOFFSETS = TEST_TIMESTAMPS.map(computeCanonicalTZOffset);
    29 var TZ_DIFF = getTimeZoneDiff();
    30 var now = new Date;
    31 var TZ_DIFF = getTimeZoneDiff();
    32 var now = new Date;function getTimeZoneDiff() {
    33   new Date/60
    34 }
    35 function check(b, desc) {
    36     function classOf(obj) {
    37         return Object.prototype.toString.call(obj);
    38     }
    39     function ownProperties(obj) {
    40         return Object.getOwnPropertyNames(obj).
    41             map(function (p) { return [p, Object.getOwnPropertyDescriptor(obj, p)]; });
    42     }
    43     function isCloneable(pair) {    }
    44     function assertIsCloneOf(a, b, path) {
    45         ca = classOf(a)
    46         assertEq(ca, classOf(b), path)
    47         assertEq(Object.getPrototypeOf(a), ca == "[object Object]" ? Object.prototype : Array.prototype, path)
    48         pb = ownProperties(b).filter(isCloneable)
    49         pa = ownProperties(a)
    50         function byName(a, b) 0
    51         byName
    52         (pa.length, pb.length, "should see the same number of properties " + path)
    53         for (var i = 0; i < pa.length; i++) {
    54                 gczeal(4)
    55         }
    56     }
    57     banner = desc || uneval()
    58     a = deserialize(serialize(b))
    59     var queue = [[a, b, banner]];
    60     while (queue.length) {
    61         var triple = queue.shift();
    62         assertIsCloneOf(triple[0], triple[1], triple[2])
    63     }
    64 }
    65 check({x: 0.7, p: "forty-two", y: null, z: undefined});
    66 check(Object.prototype);
    67 b=[, , 2, 3];
    68 b.expando=true;
    69 b[5]=5;
    70 b[0]=0;b[4]=4;
    71 check(b)([, , , , , , 6])

mercurial