func TestChaingMultipleTransformers(t *testing.T) { f1 := func(ct contentTransformer) { ct.Write(bytes.Replace(ct.Content(), []byte("f1"), []byte("f1r"), -1)) } f2 := func(ct contentTransformer) { ct.Write(bytes.Replace(ct.Content(), []byte("f2"), []byte("f2r"), -1)) } f3 := func(ct contentTransformer) { ct.Write(bytes.Replace(ct.Content(), []byte("f3"), []byte("f3r"), -1)) } f4 := func(ct contentTransformer) { ct.Write(bytes.Replace(ct.Content(), []byte("f4"), []byte("f4r"), -1)) } tr := NewChain(f1, f2, f3, f4) out := new(bytes.Buffer) if err := tr.Apply(out, helpers.StringToReader("Test: f4 f3 f1 f2 f1 The End."), []byte("")); err != nil { t.Errorf("Multi transformer chain returned an error: %s", err) } expected := "Test: f4r f3r f1r f2r f1r The End." if string(out.Bytes()) != expected { t.Errorf("Expected %s got %s", expected, string(out.Bytes())) } }
func TestFileBytes(t *testing.T) { assert.Equal(t, []byte("abc"), NewFileWithContents("a", helpers.StringToReader("abc")).Bytes()) assert.Equal(t, []byte(""), NewFile("a").Bytes()) }
func TestFileString(t *testing.T) { assert.Equal(t, "abc", NewFileWithContents("a", helpers.StringToReader("abc")).String()) assert.Equal(t, "", NewFile("a").String()) }