summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorVas Sudanagunta <vas@commonkarma.org>2018-02-11 15:38:33 -0500
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-02-12 17:14:40 +0100
commite1728349930e2cc1b6580766473de98adb0f3e50 (patch)
tree24bb9fc6406ada92b6dd6a2a9952c9d280a6889c /hugolib
parentb5cb8866e9797efa28072e4eac68abd8a1b9c5d3 (diff)
hugolib: Re-enable YAML data tests disabled in f554503f
Also gave basic tests for JSON, YAML and TOML identical inputs and expected outputs, a step toward JSON, YAML and TOML equivalency (see https://github.com/gohugoio/hugo/issues/4393#issuecomment-364437785).
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/datafiles_test.go90
1 files changed, 47 insertions, 43 deletions
diff --git a/hugolib/datafiles_test.go b/hugolib/datafiles_test.go
index bf5d2106c..4554d0a04 100644
--- a/hugolib/datafiles_test.go
+++ b/hugolib/datafiles_test.go
@@ -36,44 +36,40 @@ func TestDataDirJSON(t *testing.T) {
t.Parallel()
sources := [][2]string{
- {filepath.FromSlash("data/test/foo.json"), `{ "bar": "foofoo" }`},
- {filepath.FromSlash("data/test.json"), `{ "hello": [ { "world": "foo" } ] }`},
+ {filepath.FromSlash("data/test/a.json"), `{ "b" : { "c1": "red" , "c2": "blue" } }`},
}
- expected :=
- map[string]interface{}{
- "test": map[string]interface{}{
- "hello": []interface{}{
- map[string]interface{}{"world": "foo"},
- },
- "foo": map[string]interface{}{
- "bar": "foofoo",
+ expected := map[string]interface{}{
+ "test": map[string]interface{}{
+ "a": map[string]interface{}{
+ "b": map[string]interface{}{
+ "c1": "red",
+ "c2": "blue",
},
},
- }
+ },
+ }
doTestDataDir(t, expected, sources)
}
-// Enable / adjust in https://github.com/gohugoio/hugo/issues/4393
-func _TestDataDirYAML(t *testing.T) {
+func TestDataDirYAML(t *testing.T) {
t.Parallel()
sources := [][2]string{
- {"data/test/a.yaml", "b:\n c1: 1\n c2: 2"},
+ {"data/test/a.yaml", "b:\n c1: red\n c2: blue"},
}
- expected :=
- map[string]interface{}{
- "test": map[string]interface{}{
- "a": map[string]interface{}{
- "b": map[interface{}]interface{}{
- "c1": 1,
- "c2": 2,
- },
+ expected := map[string]interface{}{
+ "test": map[string]interface{}{
+ "a": map[string]interface{}{
+ "b": map[string]interface{}{
+ "c1": "red",
+ "c2": "blue",
},
},
- }
+ },
+ }
doTestDataDir(t, expected, sources)
}
@@ -82,34 +78,31 @@ func TestDataDirToml(t *testing.T) {
t.Parallel()
sources := [][2]string{
- {"data/test/kung.toml", "[foo]\nbar = 1"},
+ {"data/test/a.toml", "[b]\nc1 = \"red\"\nc2 = \"blue\"\n"},
}
- expected :=
- map[string]interface{}{
- "test": map[string]interface{}{
- "kung": map[string]interface{}{
- "foo": map[string]interface{}{
- "bar": 1,
- },
+ expected := map[string]interface{}{
+ "test": map[string]interface{}{
+ "a": map[string]interface{}{
+ "b": map[string]interface{}{
+ "c1": "red",
+ "c2": "blue",
},
},
- }
+ },
+ }
doTestDataDir(t, expected, sources)
}
-// Enable / adjust in https://github.com/gohugoio/hugo/issues/4393
-func _TestDataDirYAML2(t *testing.T) {
+func TestDataDirJSON2(t *testing.T) {
t.Parallel()
sources := [][2]string{
- {filepath.FromSlash("data/test/foo.yaml"), "bar: foofoo"},
- {filepath.FromSlash("data/test.yaml"), "hello:\n- world: foo"},
+ {filepath.FromSlash("data/test/foo.json"), `{ "bar": "foofoo" }`},
+ {filepath.FromSlash("data/test.json"), `{ "hello": [ { "world": "foo" } ] }`},
}
- //This is what we want: consistent use of map[string]interface{} for nested YAML maps
- // the same as TestDataDirJSON
expected :=
map[string]interface{}{
"test": map[string]interface{}{
@@ -122,21 +115,32 @@ func _TestDataDirYAML2(t *testing.T) {
},
}
- // what we are actually getting as of v0.34
- expectedV0_34 :=
+ doTestDataDir(t, expected, sources)
+}
+
+func TestDataDirYAML2(t *testing.T) {
+ t.Parallel()
+
+ sources := [][2]string{
+ {filepath.FromSlash("data/test/foo.yaml"), "bar: foofoo"},
+ {filepath.FromSlash("data/test.yaml"), "hello:\n- world: foo"},
+ }
+
+ //This is what we want: consistent use of map[string]interface{} for nested YAML maps
+ // the same as TestDataDirJSON
+ expected :=
map[string]interface{}{
"test": map[string]interface{}{
"hello": []interface{}{
- map[interface{}]interface{}{"world": "foo"},
+ map[string]interface{}{"world": "foo"},
},
"foo": map[string]interface{}{
"bar": "foofoo",
},
},
}
- _ = expected
- doTestDataDir(t, expectedV0_34, sources)
+ doTestDataDir(t, expected, sources)
}
func TestDataDirToml2(t *testing.T) {