diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js')
-rw-r--r-- | js/src/tests/test262/built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js b/js/src/tests/test262/built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js new file mode 100644 index 0000000000..ac6f7d78e3 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/prototype/hasIndices/this-val-non-obj.js @@ -0,0 +1,46 @@ +// Copyright (C) 2021 Ron Buckton and the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-regexp.prototype.hasindices +description: > + `hasIndices` accessor invoked on a non-object value +info: | + get RegExp.prototype.hasIndices + + 1. Let R be the this value. + 2. If Type(R) is not Object, throw a TypeError exception. +features: [Symbol, regexp-match-indices] +---*/ + +var hasIndices = Object.getOwnPropertyDescriptor(RegExp.prototype, "hasIndices").get; + +assert.throws(TypeError, function() { + hasIndices.call(undefined); +}, "undefined"); + +assert.throws(TypeError, function() { + hasIndices.call(null); +}, "null"); + +assert.throws(TypeError, function() { + hasIndices.call(true); +}, "true"); + +assert.throws(TypeError, function() { + hasIndices.call("string"); +}, "string"); + +assert.throws(TypeError, function() { + hasIndices.call(Symbol("s")); +}, "symbol"); + +assert.throws(TypeError, function() { + hasIndices.call(4); +}, "number"); + +assert.throws(TypeError, function() { + hasIndices.call(4n); +}, "bigint"); + +reportCompare(0, 0); |