diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/FinalizationRegistry/undefined-newtarget-throws.js')
-rw-r--r-- | js/src/tests/test262/built-ins/FinalizationRegistry/undefined-newtarget-throws.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/FinalizationRegistry/undefined-newtarget-throws.js b/js/src/tests/test262/built-ins/FinalizationRegistry/undefined-newtarget-throws.js new file mode 100644 index 0000000000..ebdef99c37 --- /dev/null +++ b/js/src/tests/test262/built-ins/FinalizationRegistry/undefined-newtarget-throws.js @@ -0,0 +1,31 @@ +// |reftest| skip-if(!this.hasOwnProperty('FinalizationRegistry')) -- FinalizationRegistry is not enabled unconditionally +// Copyright (C) 2019 Leo Balter. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-finalization-registry-target +description: > + Throws a TypeError if NewTarget is undefined. +info: | + FinalizationRegistry ( cleanupCallback ) + + 1. If NewTarget is undefined, throw a TypeError exception. + 2. If IsCallable(cleanupCallback) is false, throw a TypeError exception. + ... +features: [FinalizationRegistry] +---*/ + +assert.sameValue( + typeof FinalizationRegistry, 'function', + 'typeof FinalizationRegistry is function' +); + +assert.throws(TypeError, function() { + FinalizationRegistry(); +}); + +assert.throws(TypeError, function() { + FinalizationRegistry(function() {}); +}); + +reportCompare(0, 0); |