30 lines
691 B
JavaScript
30 lines
691 B
JavaScript
|
// @flow
|
||
|
|
||
|
let tests = [
|
||
|
// constructor
|
||
|
function() {
|
||
|
new RegExp('foo');
|
||
|
new RegExp(/foo/);
|
||
|
new RegExp('foo', 'i');
|
||
|
new RegExp('foo', 'ig');
|
||
|
new RegExp(/foo/, 'i'); // invalid in ES5, valid in ES6
|
||
|
new RegExp(/foo/g, 'i'); // invalid in ES5, valid in ES6
|
||
|
},
|
||
|
|
||
|
// called as a function (equivalent to the constructor per ES6 21.2.3)
|
||
|
function() {
|
||
|
RegExp('foo');
|
||
|
RegExp(/foo/);
|
||
|
RegExp('foo', 'i');
|
||
|
RegExp('foo', 'ig');
|
||
|
RegExp(/foo/, 'i'); // invalid in ES5, valid in ES6
|
||
|
RegExp(/foo/g, 'i'); // invalid in ES5, valid in ES6
|
||
|
},
|
||
|
|
||
|
// invalid flags
|
||
|
function() {
|
||
|
RegExp('foo', 'z'); // error
|
||
|
new RegExp('foo', 'z'); // error
|
||
|
}
|
||
|
];
|