|
1 load(libdir + "asserts.js"); |
|
2 |
|
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); |
|
8 |
|
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); |
|
14 |
|
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); |
|
20 |
|
21 // Result of the call should be an object |
|
22 assertEq(typeof Proxy({}, {}), 'object'); |
|
23 assertEq(typeof new Proxy({}, {}), 'object'); |