diff options
Diffstat (limited to 'js/src/tests/test262/harness/proxytrapshelper-default.js')
-rw-r--r-- | js/src/tests/test262/harness/proxytrapshelper-default.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/js/src/tests/test262/harness/proxytrapshelper-default.js b/js/src/tests/test262/harness/proxytrapshelper-default.js new file mode 100644 index 0000000000..6ccbf7cf8d --- /dev/null +++ b/js/src/tests/test262/harness/proxytrapshelper-default.js @@ -0,0 +1,42 @@ +// Copyright (C) 2016 Jordan Harband. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: allowProxyTraps helper should default throw on all the proxy trap named methods being invoked +esid: pending +author: Jordan Harband +includes: [proxyTrapsHelper.js] +---*/ + +var traps = allowProxyTraps(); + +function assertTrapThrows(trap) { + if (typeof traps[trap] !== 'function') { + throw new Test262Error('trap ' + trap + ' is not a function'); + } + var failedToThrow = false; + try { + traps[trap](); + failedToThrow = true; + } catch (e) {} + if (failedToThrow) { + throw new Test262Error('trap ' + trap + ' did not throw an error'); + } +} + +assertTrapThrows('getPrototypeOf'); +assertTrapThrows('setPrototypeOf'); +assertTrapThrows('isExtensible'); +assertTrapThrows('preventExtensions'); +assertTrapThrows('getOwnPropertyDescriptor'); +assertTrapThrows('has'); +assertTrapThrows('get'); +assertTrapThrows('set'); +assertTrapThrows('deleteProperty'); +assertTrapThrows('defineProperty'); +assertTrapThrows('enumerate'); +assertTrapThrows('ownKeys'); +assertTrapThrows('apply'); +assertTrapThrows('construct'); + +reportCompare(0, 0); |