Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | load(libdir + "parallelarray-helpers.js"); |
michael@0 | 2 | |
michael@0 | 3 | function testClosureCreationAndInvocation() { |
michael@0 | 4 | var a = range(0, 64); |
michael@0 | 5 | function makeaddv(v) { |
michael@0 | 6 | var u = 1; |
michael@0 | 7 | var t = 2; |
michael@0 | 8 | var s = 3; |
michael@0 | 9 | var r = 4; |
michael@0 | 10 | var q = 5; |
michael@0 | 11 | var p = 6; |
michael@0 | 12 | var o = 7; |
michael@0 | 13 | var n = 8; |
michael@0 | 14 | var m = 9; |
michael@0 | 15 | var l = 10; |
michael@0 | 16 | var k = 11; |
michael@0 | 17 | var j = 12; |
michael@0 | 18 | var i = 13; |
michael@0 | 19 | var h = 14; |
michael@0 | 20 | var g = 15; |
michael@0 | 21 | var f = 16; |
michael@0 | 22 | var e = 17; |
michael@0 | 23 | var d = 18; |
michael@0 | 24 | var c = 19; |
michael@0 | 25 | var b = 20; |
michael@0 | 26 | var a = 21; |
michael@0 | 27 | return function (x) { |
michael@0 | 28 | switch (x) { |
michael@0 | 29 | case 0: return a; case 1: return b; |
michael@0 | 30 | case 2: return c; case 3: return d; |
michael@0 | 31 | case 4: return e; case 5: return f; |
michael@0 | 32 | case 6: return g; case 7: return h; |
michael@0 | 33 | case 8: return i; case 9: return j; |
michael@0 | 34 | case 10: return k; case 11: return l; |
michael@0 | 35 | case 12: return m; case 13: return n; |
michael@0 | 36 | case 14: return o; case 15: return p; |
michael@0 | 37 | case 16: return q; case 17: return r; |
michael@0 | 38 | case 18: return s; case 19: return t; |
michael@0 | 39 | case 20: return u; |
michael@0 | 40 | } |
michael@0 | 41 | }; |
michael@0 | 42 | }; |
michael@0 | 43 | for (var i in MODES) { |
michael@0 | 44 | var m = a.mapPar(makeaddv, MODES[i]); |
michael@0 | 45 | assertEq(m[21](1), 20); // v == 21; x == 1 ==> inner function returns b == 20 |
michael@0 | 46 | } |
michael@0 | 47 | } |
michael@0 | 48 | |
michael@0 | 49 | if (getBuildConfiguration().parallelJS) |
michael@0 | 50 | testClosureCreationAndInvocation(); |