summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-19 09:07:21 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-19 09:07:21 +0200
commit6c80acbd5e314dd92fc075551ffabafaae01dca7 (patch)
tree125a6723069604ace5f0b7c9090227bc1cffef2b /hugolib
parent7fbfedf01367ff076c3c875b183789b769b99241 (diff)
hugolib: Add some integration tests for in/uniq using Pages
See #5875 See #5852
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/collections_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/hugolib/collections_test.go b/hugolib/collections_test.go
index b7e89eec9..41681bc73 100644
--- a/hugolib/collections_test.go
+++ b/hugolib/collections_test.go
@@ -118,6 +118,42 @@ tags_weight: %d
"unionWeightedPages: page.WeightedPages 6")
}
+func TestCollectionsFuncs(t *testing.T) {
+ assert := require.New(t)
+
+ pageContent := `
+---
+title: "Page"
+tags: ["blue", "green"]
+tags_weight: %d
+---
+
+`
+ b := newTestSitesBuilder(t)
+ b.WithSimpleConfigFile().
+ WithContent("page1.md", fmt.Sprintf(pageContent, 10), "page2.md", fmt.Sprintf(pageContent, 20),
+ "page3.md", fmt.Sprintf(pageContent, 30)).
+ WithTemplatesAdded("index.html", `
+{{ $uniqPages := first 2 .Site.RegularPages | append .Site.RegularPages | uniq }}
+{{ $inTrue := in .Site.RegularPages (index .Site.RegularPages 1) }}
+{{ $inFalse := in .Site.RegularPages (.Site.Home) }}
+
+{{ printf "uniqPages: %T %d" $uniqPages (len $uniqPages) }}
+{{ printf "inTrue: %t" $inTrue }}
+{{ printf "inFalse: %t" $inFalse }}
+`)
+ b.CreateSites().Build(BuildCfg{})
+
+ assert.Equal(1, len(b.H.Sites))
+ require.Len(t, b.H.Sites[0].RegularPages(), 3)
+
+ b.AssertFileContent("public/index.html",
+ "uniqPages: page.Pages 3",
+ "inTrue: true",
+ "inFalse: false",
+ )
+}
+
func TestAppendFunc(t *testing.T) {
assert := require.New(t)