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
|
|
}
|
|
];
|