summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/RegExp/prototype/Symbol.matchAll/this-not-object-throws.js
blob: 83cf79f929775c93a2f680b77658e9f38bb31f0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (C) 2018 Jordan Harband. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: pending
description: Throws TypeError when `this` is not an Object
info: |
  RegExp.prototype [ @@matchAll ] ( string )
    1. Let R be the this value.
    2. If Type(R) is not Object, throw a TypeError exception.
features: [Symbol.matchAll]
---*/

var thisValue;
var callMatchAll = function() {
  RegExp.prototype[Symbol.matchAll].call(thisValue, '');
};

thisValue = null;
assert.throws(TypeError, callMatchAll, 'this value is null');

thisValue = true;
assert.throws(TypeError, callMatchAll, 'this value is Boolean');

thisValue = '';
assert.throws(TypeError, callMatchAll, 'this value is String');

thisValue = Symbol();
assert.throws(TypeError, callMatchAll, 'this value is Symbol');

thisValue = 1;
assert.throws(TypeError, callMatchAll, 'this value is Number');

reportCompare(0, 0);