aboutsummaryrefslogtreecommitdiffhomepage
path: root/hugolib/site_output_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2017-03-09 19:19:29 +0100
committerBjørn Erik Pedersen <[email protected]>2017-03-27 15:43:56 +0200
commit6bf010fed432e5574e19fd2946ee6397d895950e (patch)
tree75282ccbd526adc8dba62f9392db282b3bcec49f /hugolib/site_output_test.go
parentc8fff9501d424882a42f750800d9982ec47df640 (diff)
downloadhugo-6bf010fed432e5574e19fd2946ee6397d895950e.tar.gz
hugo-6bf010fed432e5574e19fd2946ee6397d895950e.zip
hugolib: Refactor/-work the permalink/target path logic
This is a pretty fundamental change in Hugo, but absolutely needed if we should have any hope of getting "multiple outputs" done. This commit's goal is to say: * Every file target path is created by `createTargetPath`, i.e. one function for all. * That function takes every page and site parameter into account, to avoid fragile string parsing to uglify etc. later on. * The path creation logic has full test coverage. * All permalinks, paginator URLs etc. are then built on top of that same logic. Fixes #1252 Fixes #2110 Closes #2374 Fixes #1885 Fixes #3102 Fixes #3179 Fixes #1641 Fixes #1989
Diffstat (limited to 'hugolib/site_output_test.go')
-rw-r--r--hugolib/site_output_test.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/hugolib/site_output_test.go b/hugolib/site_output_test.go
index 03c5b7394..6ad53c0f8 100644
--- a/hugolib/site_output_test.go
+++ b/hugolib/site_output_test.go
@@ -22,11 +22,12 @@ import (
"fmt"
"github.com/spf13/hugo/output"
+ "github.com/spf13/viper"
)
func TestDefaultOutputDefinitions(t *testing.T) {
t.Parallel()
- defs := defaultOutputDefinitions
+ defs := createSiteOutputDefinitions(viper.New())
tests := []struct {
name string
@@ -69,7 +70,9 @@ outputs: ["json"]
# Doc
`
- th, h := newTestSitesFromConfigWithDefaultTemplates(t, siteConfig)
+ th, h := newTestSitesFromConfig(t, siteConfig,
+ "layouts/_default/list.json", "List JSON|{{ .Title }}|{{ .Content }}",
+ )
require.Len(t, h.Sites, 1)
fs := th.Fs
@@ -87,6 +90,8 @@ outputs: ["json"]
require.Len(t, home.outputTypes, 1)
- th.assertFileContent("public/index.json", "TODO")
+ // TODO(bep) output assert template/text
+
+ th.assertFileContent("public/index.json", "List JSON")
}