js/src/jit-test/tests/proxy/testDirectProxyConstructor.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:5984e2594f70
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');

mercurial