Add benchmark for the shortcode lexer

This commit is contained in:
bep 2015-03-05 21:10:53 +01:00
parent ecb2aca6a2
commit 8557e2cbb8

View file

@ -126,7 +126,7 @@ var shortCodeLexerTests = []shortCodeLexerTest{
item{tText, 0, "{{<"}, item{tText, 0, " sc1 >}}"}, {tError, 0, "comment ends before the right shortcode delimiter"}}}, item{tText, 0, "{{<"}, item{tText, 0, " sc1 >}}"}, {tError, 0, "comment ends before the right shortcode delimiter"}}},
} }
func TestPagelexer(t *testing.T) { func TestShortcodeLexer(t *testing.T) {
for _, test := range shortCodeLexerTests { for _, test := range shortCodeLexerTests {
items := collect(&test) items := collect(&test)
@ -136,6 +136,18 @@ func TestPagelexer(t *testing.T) {
} }
} }
func BenchmarkShortcodeLexer(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
for _, test := range shortCodeLexerTests {
items := collect(&test)
if !equal(items, test.items) {
b.Errorf("%s: got\n\t%v\nexpected\n\t%v", test.name, items, test.items)
}
}
}
}
func collect(t *shortCodeLexerTest) (items []item) { func collect(t *shortCodeLexerTest) (items []item) {
l := newShortcodeLexer(t.name, t.input, 0) l := newShortcodeLexer(t.name, t.input, 0)
for { for {