1
0
mirror of https://github.com/robertkrimen/otto synced 2025-10-26 20:28:49 +08:00

Better regular expression syntax checking

And a limitation elaboration
This commit is contained in:
Robert Krimen
2012-10-12 18:55:41 -07:00
parent b6f8642fe2
commit 7dfbf6ab13
7 changed files with 83 additions and 9 deletions

View File

@@ -57,6 +57,20 @@ func TestTransformRegExp(t *testing.T) {
Is(transformRegExp(`\\|'|\r|\n|\t|\u2028|\u2029`), `\\|'|\r|\n|\t|\x{2028}|\x{2029}`)
}
func TestIsValidRegExp(t *testing.T) {
Terst(t)
IsTrue(isValidRegExp(""))
IsTrue(isValidRegExp("[0-9]"))
IsTrue(isValidRegExp("[(?=(?!]"))
IsTrue(isValidRegExp("\\(?="))
IsTrue(isValidRegExp("(\\?!"))
IsTrue(isValidRegExp("(?\\="))
IsFalse(isValidRegExp("(?="))
IsFalse(isValidRegExp("\\((?!"))
IsFalse(isValidRegExp("[0-9](?!"))
}
func TestOtto(t *testing.T) {
Terst(t)