ref: ff8b52758d9fe857455a20303bf23e92888413f0
parent: 80009b427fdc9ccac3d27218e41f0fa378087e87
author: Noah Campbell <noahcampbell@gmail.com>
date: Tue Oct 1 10:56:14 EDT 2013
Move in memory target into target module.
--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -4,6 +4,7 @@
"bytes"
"fmt"
"github.com/spf13/hugo/source"
+ "github.com/spf13/hugo/target"
"html/template"
"strings"
"testing"
@@ -194,7 +195,7 @@
func TestSkipRender(t *testing.T) {files := make(map[string][]byte)
- target := &InMemoryTarget{files: files}+ target := &target.InMemoryTarget{Files: files} sources := []source.ByteSource{ {"sect/doc1.html", []byte("---\nmarkup: markdown\n---\n# title\nsome *content*"), "sect"}, {"sect/doc2.html", []byte("<!doctype html><html><body>more content</body></html>"), "sect"},@@ -240,9 +241,9 @@
}
for _, test := range tests {- content, ok := target.files[test.doc]
+ content, ok := target.Files[test.doc]
if !ok {- t.Fatalf("Did not find %s in target. %v", test.doc, target.files)+ t.Fatalf("Did not find %s in target. %v", test.doc, target.Files)}
if !bytes.Equal(content, []byte(test.expected)) {@@ -253,7 +254,7 @@
func TestAbsUrlify(t *testing.T) {files := make(map[string][]byte)
- target := &InMemoryTarget{files: files}+ target := &target.InMemoryTarget{Files: files} sources := []source.ByteSource{ {"sect/doc1.html", []byte("<!doctype html><html><head></head><body><a href=\"#frag1\">link</a></body></html>"), "sect"}, {"content/blue/doc2.html", []byte("---\nf: t\n---\n<!doctype html><html><body>more content</body></html>"), "blue"},@@ -287,7 +288,7 @@
}
for _, test := range tests {- content, ok := target.files[test.file]
+ content, ok := target.Files[test.file]
if !ok { t.Fatalf("Unable to locate rendered content: %s", test.file)}
--- a/hugolib/site_url_test.go
+++ b/hugolib/site_url_test.go
@@ -1,11 +1,9 @@
package hugolib
import (
- "bytes"
"github.com/spf13/hugo/source"
"github.com/spf13/hugo/target"
"html/template"
- "io"
"testing"
)
@@ -33,24 +31,6 @@
return ret
}
-type InMemoryTarget struct {- files map[string][]byte
-}
-
-func (t *InMemoryTarget) Publish(label string, reader io.Reader) (err error) {- if t.files == nil {- t.files = make(map[string][]byte)
- }
- bytes := new(bytes.Buffer)
- bytes.ReadFrom(reader)
- t.files[label] = bytes.Bytes()
- return
-}
-
-func (t *InMemoryTarget) Translate(label string) (dest string, err error) {- return label, nil
-}
-
type InMemoryAliasTarget struct {target.HTMLRedirectAlias
files map[string][]byte
@@ -69,7 +49,7 @@
func TestPageCount(t *testing.T) {files := make(map[string][]byte)
- target := &InMemoryTarget{files: files}+ target := &target.InMemoryTarget{Files: files} alias := &InMemoryAliasTarget{files: files} s := &Site{Target: target,
@@ -96,9 +76,9 @@
t.Errorf("Unable to render site lists: %s", err)}
- blueIndex := target.files["blue"]
+ blueIndex := target.Files["blue"]
if blueIndex == nil {- t.Errorf("No indexed rendered. %v", target.files)+ t.Errorf("No indexed rendered. %v", target.Files)}
expected := "<html><head></head><body>..</body></html>"
@@ -112,7 +92,7 @@
"sd3/index.html",
"sd4.html",
} {- if _, ok := target.files[s]; !ok {+ if _, ok := target.Files[s]; !ok { t.Errorf("No alias rendered: %s", s)}
}
--- /dev/null
+++ b/target/memory.go
@@ -1,0 +1,25 @@
+package target
+
+import (
+ "io"
+ "bytes"
+)
+
+type InMemoryTarget struct {+ Files map[string][]byte
+}
+
+func (t *InMemoryTarget) Publish(label string, reader io.Reader) (err error) {+ if t.Files == nil {+ t.Files = make(map[string][]byte)
+ }
+ bytes := new(bytes.Buffer)
+ bytes.ReadFrom(reader)
+ t.Files[label] = bytes.Bytes()
+ return
+}
+
+func (t *InMemoryTarget) Translate(label string) (dest string, err error) {+ return label, nil
+}
+
--
⑨