mirror of
https://github.com/russross/blackfriday.git
synced 2024-03-22 13:40:34 +08:00
Merge pull request #286 from russross/add-benchmark
Repeat a run of reference tests under benchmark
This commit is contained in:
commit
bb31c53390
54
ref_test.go
54
ref_test.go
|
@ -13,7 +13,11 @@
|
|||
|
||||
package blackfriday
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestReference(t *testing.T) {
|
||||
files := []string{
|
||||
|
@ -70,3 +74,51 @@ func TestReference_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
|
|||
}
|
||||
doTestsReference(t, files, NoEmptyLineBeforeBlock)
|
||||
}
|
||||
|
||||
// benchResultAnchor is an anchor variable to store the result of a benchmarked
|
||||
// code so that compiler could never optimize away the call to runMarkdown()
|
||||
var benchResultAnchor string
|
||||
|
||||
func BenchmarkReference(b *testing.B) {
|
||||
params := TestParams{Options: Options{Extensions: CommonExtensions}}
|
||||
files := []string{
|
||||
"Amps and angle encoding",
|
||||
"Auto links",
|
||||
"Backslash escapes",
|
||||
"Blockquotes with code blocks",
|
||||
"Code Blocks",
|
||||
"Code Spans",
|
||||
"Hard-wrapped paragraphs with list-like lines",
|
||||
"Horizontal rules",
|
||||
"Inline HTML (Advanced)",
|
||||
"Inline HTML (Simple)",
|
||||
"Inline HTML comments",
|
||||
"Links, inline style",
|
||||
"Links, reference style",
|
||||
"Links, shortcut references",
|
||||
"Literal quotes in titles",
|
||||
"Markdown Documentation - Basics",
|
||||
"Markdown Documentation - Syntax",
|
||||
"Nested blockquotes",
|
||||
"Ordered and unordered lists",
|
||||
"Strong and em together",
|
||||
"Tabs",
|
||||
"Tidyness",
|
||||
}
|
||||
var tests []string
|
||||
for _, basename := range files {
|
||||
filename := filepath.Join("testdata", basename+".text")
|
||||
inputBytes, err := ioutil.ReadFile(filename)
|
||||
if err != nil {
|
||||
b.Errorf("Couldn't open '%s', error: %v\n", filename, err)
|
||||
continue
|
||||
}
|
||||
tests = append(tests, string(inputBytes))
|
||||
}
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
for _, test := range tests {
|
||||
benchResultAnchor = runMarkdown(test, params)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user