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 load(libdir + "asserts.js");
3 // Throw a TypeError if Proxy is called with less than two arguments
4 assertThrowsInstanceOf(function () { Proxy(); }, TypeError);
5 assertThrowsInstanceOf(function () { new Proxy(); }, TypeError);
6 assertThrowsInstanceOf(function () { Proxy({}); }, TypeError);
7 assertThrowsInstanceOf(function () { new Proxy({}); }, TypeError);
9 // Throw a TypeError if the first argument is not a non-null object
10 assertThrowsInstanceOf(function () { Proxy(0, {}); }, TypeError);
11 assertThrowsInstanceOf(function () { new Proxy(0, {}); }, TypeError);
12 assertThrowsInstanceOf(function () { Proxy(null, {}); }, TypeError);
13 assertThrowsInstanceOf(function () { new Proxy(null, {}); }, TypeError);
15 // Throw a TypeError if the second argument is not a non-null object
16 assertThrowsInstanceOf(function () { Proxy({}, 0); }, TypeError);
17 assertThrowsInstanceOf(function () { new Proxy({}, 0); }, TypeError);
18 assertThrowsInstanceOf(function () { Proxy({}, null); }, TypeError);
19 assertThrowsInstanceOf(function () { new Proxy({}, null); }, TypeError);
21 // Result of the call should be an object
22 assertEq(typeof Proxy({}, {}), 'object');
23 assertEq(typeof new Proxy({}, {}), 'object');