2021-05-11 22:47:14 +01:00
|
|
|
describe("errors", () => {
|
|
|
|
|
test("invalid pattern", () => {
|
|
|
|
|
expect(() => {
|
|
|
|
|
RegExp("[");
|
|
|
|
|
}).toThrowWithMessage(
|
|
|
|
|
SyntaxError,
|
|
|
|
|
"RegExp compile error: Error during parsing of regular expression:"
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test("invalid flag", () => {
|
|
|
|
|
expect(() => {
|
|
|
|
|
RegExp("", "x");
|
|
|
|
|
}).toThrowWithMessage(SyntaxError, "Invalid RegExp flag 'x'");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test("repeated flag", () => {
|
|
|
|
|
expect(() => {
|
|
|
|
|
RegExp("", "gg");
|
|
|
|
|
}).toThrowWithMessage(SyntaxError, "Repeated RegExp flag 'g'");
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
2020-11-27 22:42:41 +00:00
|
|
|
test("basic functionality", () => {
|
2020-11-27 23:42:58 +00:00
|
|
|
expect(RegExp().toString()).toBe("/(?:)/");
|
|
|
|
|
expect(RegExp(undefined).toString()).toBe("/(?:)/");
|
2020-11-27 22:42:41 +00:00
|
|
|
expect(RegExp("foo").toString()).toBe("/foo/");
|
|
|
|
|
expect(RegExp("foo", undefined).toString()).toBe("/foo/");
|
|
|
|
|
expect(RegExp("foo", "g").toString()).toBe("/foo/g");
|
2020-11-27 23:42:58 +00:00
|
|
|
expect(RegExp(undefined, "g").toString()).toBe("/(?:)/g");
|
2020-11-27 22:42:41 +00:00
|
|
|
});
|