1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
QUnit.test('RegExp#test delegates to exec', assert => {
const exec = function (...args) {
execCalled = true;
return /./.exec.apply(this, args);
};
let execCalled = false;
let re = /[ac]/;
re.exec = exec;
assert.true(re.test('abc'), '#1');
assert.true(execCalled, '#2');
re = /a/;
// Not a function, should be ignored
re.exec = 3;
assert.true(re.test('abc'), '#3');
re = /a/;
// Does not return an object, should throw
re.exec = () => 3;
assert.throws(() => re.test('abc', '#4'));
});
|