ref: ff8b52758d9fe857455a20303bf23e92888413f0
parent: 80009b427fdc9ccac3d27218e41f0fa378087e87
author: Noah Campbell <[email protected]>
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
+}
+