diff options
Diffstat (limited to 'transform/chain_test.go')
-rw-r--r-- | transform/chain_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/transform/chain_test.go b/transform/chain_test.go new file mode 100644 index 000000000..d122c31f8 --- /dev/null +++ b/transform/chain_test.go @@ -0,0 +1,36 @@ +package transform + +import ( + "bytes" + "testing" +) + +func TestChainZeroTransformers(t *testing.T) { + tr := NewChain() + in := new(bytes.Buffer) + out := new(bytes.Buffer) + if err := tr.Apply(in, out); err != nil { + t.Errorf("A zero transformer chain returned an error.") + } +} + +func TestChainOneTransformer(t *testing.T) { + tr := NewChain(&AbsURL{BaseURL: "http://base"}) + apply(t, 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>" + +const CORRECT_OUTPUT_SRC_HREF_WITH_NAV = "<!DOCTYPE html><html><head><script src=\"http://two/foobar.js\"></script></head><body><nav><ul><li hugo-nav=\"section_0\"></li><li hugo-nav=\"section_1\" class=\"active\"></li></ul></nav><article>content <a href=\"http://two/foobar\">foobar</a>. Follow up</article></body></html>" + +var two_chain_tests = []test { + {H5_JS_CONTENT_ABS_URL_WITH_NAV, CORRECT_OUTPUT_SRC_HREF_WITH_NAV}, +} + +func TestChainTwoTransformer(t *testing.T) { + tr := NewChain( + &AbsURL{BaseURL: "http://two"}, + &NavActive{Section: "section_1"}, + ) + apply(t, tr, two_chain_tests) +} |