bug1292858.js (1622B)
1 // |jit-test| --ion-warmup-threshold=50 2 setJitCompilerOption("offthread-compilation.enable", 0); 3 gcPreserveCode(); 4 5 function test1() { 6 var caughtInvalidArguments = false; 7 var a = -1 8 try { 9 var buf = new Uint8ClampedArray(a); 10 throw new Error("didn't throw"); 11 } catch (e) { 12 assertEq(e instanceof RangeError, true, 13 "expected RangeError, instead threw: " + e); 14 caughtInvalidArguments = true; 15 } 16 assertEq(caughtInvalidArguments, true); 17 } 18 test1(); 19 20 function test2() { 21 var caughtInvalidArguments = false; 22 var i = 0; 23 while (true) { 24 i = (i + 1) | 0; 25 var a = inIon() ? -1 : 300; 26 try { 27 var buf = new Uint8ClampedArray(a); 28 assertEq(buf.length, 300); 29 } catch (e) { 30 assertEq(a, -1); 31 assertEq(e instanceof RangeError, true, 32 "expected RangeError, instead threw: " + e); 33 caughtInvalidArguments = true; 34 break; 35 } 36 } 37 assertEq(caughtInvalidArguments, true); 38 } 39 test2(); 40 41 function test3() { 42 var caughtInvalidArguments = false; 43 var i = 0; 44 while (true) { 45 i = (i + 1) | 0; 46 var a = inIon() ? -1 : 0; 47 try { 48 var buf = new Uint8ClampedArray(a); 49 assertEq(buf.length, 0); 50 } catch (e) { 51 assertEq(a, -1); 52 assertEq(e instanceof RangeError, true, 53 "expected RangeError, instead threw: " + e); 54 caughtInvalidArguments = true; 55 break; 56 } 57 } 58 assertEq(caughtInvalidArguments, true); 59 } 60 test3();