shithub: hugo

Download patch

ref: e1728349930e2cc1b6580766473de98adb0f3e50
parent: b5cb8866e9797efa28072e4eac68abd8a1b9c5d3
author: Vas Sudanagunta <[email protected]>
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) {