ref: e1728349930e2cc1b6580766473de98adb0f3e50
parent: b5cb8866e9797efa28072e4eac68abd8a1b9c5d3
author: Vas Sudanagunta <vas@commonkarma.org>
date: Sun Feb 11 10:38:33 EST 2018
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).
--- a/hugolib/datafiles_test.go
+++ b/hugolib/datafiles_test.go
@@ -36,44 +36,40 @@
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"},+ expected := map[string]interface{}{+ "test": map[string]interface{}{+ "a": map[string]interface{}{+ "b": map[string]interface{}{+ "c1": "red",
+ "c2": "blue",
},
- "foo": map[string]interface{}{- "bar": "foofoo",
- },
},
- }
+ },
+ }
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 @@
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,12 +115,24 @@
},
}
- // 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",
@@ -134,9 +139,8 @@
},
},
}
- _ = expected
- doTestDataDir(t, expectedV0_34, sources)
+ doTestDataDir(t, expected, sources)
}
func TestDataDirToml2(t *testing.T) {--
⑨