summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-06-12 09:14:20 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-06-12 09:14:20 +0200
commite3e627e6b706a67abb3d7752b27326c07326b53d (patch)
tree2d18dec32c2f705528ebe9abc4bc6cae5b31d853 /hugolib
parent83d03a5201f49552fad35302bfea31db2e447188 (diff)
Add a nested data dir test
Ref. a discussion.
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/datafiles_test.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/hugolib/datafiles_test.go b/hugolib/datafiles_test.go
index 699cf9cd8..294dc8379 100644
--- a/hugolib/datafiles_test.go
+++ b/hugolib/datafiles_test.go
@@ -289,6 +289,23 @@ func TestDataDirCollidingMapsAndArrays(t *testing.T) {
doTestDataDir(t, dd, expected, "theme", "mytheme")
}
+// https://discourse.gohugo.io/t/recursive-data-file-parsing/26192
+func TestDataDirNestedDirectories(t *testing.T) {
+ t.Parallel()
+
+ var dd dataDir
+ dd.addSource("themes/mytheme/data/a.json", `["1", "2", "3"]`)
+ dd.addSource("data/test1/20/06/a.json", `{ "artist" : "Michael Brecker" }`)
+ dd.addSource("data/test1/20/05/b.json", `{ "artist" : "Charlie Parker" }`)
+
+ expected :=
+ map[string]interface{}{
+ "a": []interface{}{"1", "2", "3"},
+ "test1": map[string]interface{}{"20": map[string]interface{}{"05": map[string]interface{}{"b": map[string]interface{}{"artist": "Charlie Parker"}}, "06": map[string]interface{}{"a": map[string]interface{}{"artist": "Michael Brecker"}}}}}
+
+ doTestDataDir(t, dd, expected, "theme", "mytheme")
+}
+
type dataDir struct {
sources [][2]string
}