diff options
Diffstat (limited to 'src/pkg/regexp/syntax/prog_test.go')
-rw-r--r-- | src/pkg/regexp/syntax/prog_test.go | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/src/pkg/regexp/syntax/prog_test.go b/src/pkg/regexp/syntax/prog_test.go deleted file mode 100644 index 50bfa3d4b..000000000 --- a/src/pkg/regexp/syntax/prog_test.go +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package syntax - -import "testing" - -var compileTests = []struct { - Regexp string - Prog string -}{ - {"a", ` 0 fail - 1* rune1 "a" -> 2 - 2 match -`}, - {"[A-M][n-z]", ` 0 fail - 1* rune "AM" -> 2 - 2 rune "nz" -> 3 - 3 match -`}, - {"", ` 0 fail - 1* nop -> 2 - 2 match -`}, - {"a?", ` 0 fail - 1 rune1 "a" -> 3 - 2* alt -> 1, 3 - 3 match -`}, - {"a??", ` 0 fail - 1 rune1 "a" -> 3 - 2* alt -> 3, 1 - 3 match -`}, - {"a+", ` 0 fail - 1* rune1 "a" -> 2 - 2 alt -> 1, 3 - 3 match -`}, - {"a+?", ` 0 fail - 1* rune1 "a" -> 2 - 2 alt -> 3, 1 - 3 match -`}, - {"a*", ` 0 fail - 1 rune1 "a" -> 2 - 2* alt -> 1, 3 - 3 match -`}, - {"a*?", ` 0 fail - 1 rune1 "a" -> 2 - 2* alt -> 3, 1 - 3 match -`}, - {"a+b+", ` 0 fail - 1* rune1 "a" -> 2 - 2 alt -> 1, 3 - 3 rune1 "b" -> 4 - 4 alt -> 3, 5 - 5 match -`}, - {"(a+)(b+)", ` 0 fail - 1* cap 2 -> 2 - 2 rune1 "a" -> 3 - 3 alt -> 2, 4 - 4 cap 3 -> 5 - 5 cap 4 -> 6 - 6 rune1 "b" -> 7 - 7 alt -> 6, 8 - 8 cap 5 -> 9 - 9 match -`}, - {"a+|b+", ` 0 fail - 1 rune1 "a" -> 2 - 2 alt -> 1, 6 - 3 rune1 "b" -> 4 - 4 alt -> 3, 6 - 5* alt -> 1, 3 - 6 match -`}, - {"A[Aa]", ` 0 fail - 1* rune1 "A" -> 2 - 2 rune "A"/i -> 3 - 3 match -`}, - {"(?:(?:^).)", ` 0 fail - 1* empty 4 -> 2 - 2 anynotnl -> 3 - 3 match -`}, -} - -func TestCompile(t *testing.T) { - for _, tt := range compileTests { - re, _ := Parse(tt.Regexp, Perl) - p, _ := Compile(re) - s := p.String() - if s != tt.Prog { - t.Errorf("compiled %#q:\n--- have\n%s---\n--- want\n%s---", tt.Regexp, s, tt.Prog) - } - } -} - -func BenchmarkEmptyOpContext(b *testing.B) { - for i := 0; i < b.N; i++ { - var r1 rune = -1 - for _, r2 := range "foo, bar, baz\nsome input text.\n" { - EmptyOpContext(r1, r2) - r1 = r2 - } - EmptyOpContext(r1, -1) - } -} |