Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 this.__proto__ = null;
3 function testLenientAndStrict(code, lenient_pred, strict_pred) {
4 return (strict_pred("'use strict'; " + code) &&
5 lenient_pred(code));
6 }
7 function raisesException(exception) {
8 return function (code) {
9 try {
10 eval(code);
11 } catch (actual) {
12 }
13 };
14 };
15 try {
16 function arr() {
17 return Object.defineProperty(Object()* delete Object, 0, {writable: false});
18 }
19 assertEq(testLenientAndStrict('var a = arr(); [a.splice(0, 1), a]',
20 raisesException(TypeError),
21 raisesException(TypeError)),
22 true);
23 } catch (e) {}
24 ForIn_2(this);
25 function ForIn_2(object) {
26 for ( property in object ) {
27 with ( object ) {
28 }
29 }
30 }