mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Move in memory target into target module.
This commit is contained in:
parent
80009b427f
commit
ff8b52758d
3 changed files with 35 additions and 29 deletions
|
@ -4,6 +4,7 @@ import (
|
|||
"bytes"
|
||||
"fmt"
|
||||
"github.com/spf13/hugo/source"
|
||||
"github.com/spf13/hugo/target"
|
||||
"html/template"
|
||||
"strings"
|
||||
"testing"
|
||||
|
@ -194,7 +195,7 @@ func TestTargetPath(t *testing.T) {
|
|||
|
||||
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 @@ func TestSkipRender(t *testing.T) {
|
|||
}
|
||||
|
||||
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 TestSkipRender(t *testing.T) {
|
|||
|
||||
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 @@ func TestAbsUrlify(t *testing.T) {
|
|||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
|
|
@ -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 @@ func mustReturn(ret *Page, err error) *Page {
|
|||
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 @@ var urlFakeSource = []source.ByteSource{
|
|||
|
||||
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 @@ func TestPageCount(t *testing.T) {
|
|||
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 @@ func TestPageCount(t *testing.T) {
|
|||
"sd3/index.html",
|
||||
"sd4.html",
|
||||
} {
|
||||
if _, ok := target.files[s]; !ok {
|
||||
if _, ok := target.Files[s]; !ok {
|
||||
t.Errorf("No alias rendered: %s", s)
|
||||
}
|
||||
}
|
||||
|
|
25
target/memory.go
Normal file
25
target/memory.go
Normal file
|
@ -0,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
|
||||
}
|
||||
|
Loading…
Reference in a new issue