2017-07-03 15:37:14 +02:00
|
|
|
package pages
|
|
|
|
|
|
|
|
import (
|
2017-07-10 19:23:51 +02:00
|
|
|
"io"
|
2017-07-03 15:37:14 +02:00
|
|
|
"path/filepath"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/osteele/gojekyll/config"
|
2017-07-10 19:23:51 +02:00
|
|
|
"github.com/osteele/gojekyll/pipelines"
|
2017-07-03 15:37:14 +02:00
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
2017-07-10 19:23:51 +02:00
|
|
|
type siteFake struct {
|
|
|
|
t *testing.T
|
|
|
|
cfg config.Config
|
2017-07-03 15:37:14 +02:00
|
|
|
}
|
|
|
|
|
2017-07-10 19:23:51 +02:00
|
|
|
func (s siteFake) Config() *config.Config { return &s.cfg }
|
2017-07-24 15:32:57 +02:00
|
|
|
func (s siteFake) RelativePath(p string) string { return p }
|
2017-07-10 19:23:51 +02:00
|
|
|
func (s siteFake) RenderingPipeline() pipelines.PipelineInterface { return &pipelineFake{s.t} }
|
|
|
|
func (s siteFake) OutputExt(p string) string { return filepath.Ext(p) }
|
2017-07-03 15:37:14 +02:00
|
|
|
|
2017-07-10 19:23:51 +02:00
|
|
|
type pipelineFake struct{ t *testing.T }
|
|
|
|
|
|
|
|
func (p pipelineFake) OutputExt(string) string { return ".html" }
|
|
|
|
func (p pipelineFake) ApplyLayout(layout string, src []byte, vars map[string]interface{}) ([]byte, error) {
|
|
|
|
require.Equal(p.t, "layout1", layout)
|
|
|
|
return nil, nil
|
|
|
|
}
|
2017-08-10 15:06:53 +02:00
|
|
|
func (p pipelineFake) Render(w io.Writer, src []byte, filename string, lineNo int, vars map[string]interface{}) error {
|
|
|
|
_, err := w.Write(src)
|
|
|
|
return err
|
2017-07-10 19:23:51 +02:00
|
|
|
}
|