summaryrefslogtreecommitdiffstats
path: root/transform
diff options
context:
space:
mode:
authorNoah Campbell <noahcampbell@gmail.com>2013-10-29 20:24:29 -0700
committerNoah Campbell <noahcampbell@gmail.com>2013-11-01 09:59:57 -0700
commitf4cb8e1688b1459472413f3c85cb3b6297397020 (patch)
tree80bd82a700d4a22037356e7f910581287accabec /transform
parent789aa6ad76fe2f6c7b911da6042a7f2a697e94ea (diff)
Adding benchmark for transformation module.
Diffstat (limited to 'transform')
-rw-r--r--transform/chain_test.go15
-rw-r--r--transform/nav_test.go10
-rw-r--r--transform/posttrans_test.go10
3 files changed, 29 insertions, 6 deletions
diff --git a/transform/chain_test.go b/transform/chain_test.go
index c7105cdad..b479ac1e3 100644
--- a/transform/chain_test.go
+++ b/transform/chain_test.go
@@ -16,7 +16,7 @@ func TestChainZeroTransformers(t *testing.T) {
func TestChainOneTransformer(t *testing.T) {
tr := NewChain(&AbsURL{BaseURL: "http://base"})
- apply(t, tr, abs_url_tests)
+ apply(t.Errorf, tr, abs_url_tests)
}
const H5_JS_CONTENT_ABS_URL_WITH_NAV = "<!DOCTYPE html><html><head><script src=\"/foobar.js\"></script></head><body><nav><ul><li hugo-nav=\"section_0\"></li><li hugo-nav=\"section_1\"></li></ul></nav><article>content <a href=\"/foobar\">foobar</a>. Follow up</article></body></html>"
@@ -32,5 +32,16 @@ func TestChainTwoTransformer(t *testing.T) {
&AbsURL{BaseURL: "http://two"},
&NavActive{Section: "section_1"},
)
- apply(t, tr, two_chain_tests)
+ apply(t.Errorf, tr, two_chain_tests)
+}
+
+func BenchmarkChain(b *testing.B) {
+
+ tr := NewChain(
+ &AbsURL{BaseURL: "http://two"},
+ &NavActive{Section: "section_1"},
+ )
+ for i := 0; i < b.N; i++ {
+ apply(b.Errorf, tr, two_chain_tests)
+ }
}
diff --git a/transform/nav_test.go b/transform/nav_test.go
index 4d578b87a..8ee46f116 100644
--- a/transform/nav_test.go
+++ b/transform/nav_test.go
@@ -58,3 +58,13 @@ func TestSetNav(t *testing.T) {
t.Errorf("NavActive.Apply output expected and got:\n%q\n%q", expected, out.String())
}
}
+
+func BenchmarkTransform(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ tr := &NavActive{Section: "section_2"}
+ out := new(bytes.Buffer)
+ if err := tr.Apply(out, strings.NewReader(HTML_WITH_NAV)); err != nil {
+ b.Errorf("Unexpected error in Apply() for NavActive: %s", err)
+ }
+ }
+}
diff --git a/transform/posttrans_test.go b/transform/posttrans_test.go
index fd6bc18b2..103e73a4a 100644
--- a/transform/posttrans_test.go
+++ b/transform/posttrans_test.go
@@ -21,7 +21,7 @@ func TestAbsUrlify(t *testing.T) {
BaseURL: "http://base",
}
- apply(t, tr, abs_url_tests)
+ apply(t.Errorf, tr, abs_url_tests)
}
type test struct {
@@ -35,15 +35,17 @@ var abs_url_tests = []test{
{H5_JS_CONTENT_ABS_URL, H5_JS_CONTENT_ABS_URL},
}
-func apply(t *testing.T, tr Transformer, tests []test) {
+type errorf func (string, ...interface{})
+
+func apply(ef errorf, tr Transformer, tests []test) {
for _, test := range tests {
out := new(bytes.Buffer)
err := tr.Apply(out, strings.NewReader(test.content))
if err != nil {
- t.Errorf("Unexpected error: %s", err)
+ ef("Unexpected error: %s", err)
}
if test.expected != string(out.Bytes()) {
- t.Errorf("Expected:\n%s\nGot:\n%s", test.expected, string(out.Bytes()))
+ ef("Expected:\n%s\nGot:\n%s", test.expected, string(out.Bytes()))
}
}
}