hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit b06c2103b84dde1d757bf8efe894014b678f460f
parent d22f7795c721272b03f49ee41211adf054931e53
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Wed,  9 Feb 2022 14:08:01 +0100

templates: Port integration test to its package

Diffstat:
Mhugolib/resource_chain_test.go | 26--------------------------
Aresources/resource_transformers/templates/integration_test.go | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 79 insertions(+), 26 deletions(-)
diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go
@@ -713,32 +713,6 @@ JSON: {{ $json.RelPermalink }}: {{ $json.Content }}
 		"JSONS: 2", "/jsons/data1.json: json1 content")
 }
 
-func TestExecuteAsTemplateWithLanguage(t *testing.T) {
-	b := newMultiSiteTestDefaultBuilder(t)
-	indexContent := `
-Lang: {{ site.Language.Lang }}
-{{ $templ := "{{T \"hello\"}}" | resources.FromString "f1.html" }}
-{{ $helloResource := $templ | resources.ExecuteAsTemplate (print "f%s.html" .Lang) . }}
-Hello1: {{T "hello"}}
-Hello2: {{ $helloResource.Content }}
-LangURL: {{ relLangURL "foo" }}
-`
-	b.WithTemplatesAdded("index.html", indexContent)
-	b.WithTemplatesAdded("index.fr.html", indexContent)
-
-	b.Build(BuildCfg{})
-
-	b.AssertFileContent("public/en/index.html", `
-Hello1: Hello
-Hello2: Hello
-`)
-
-	b.AssertFileContent("public/fr/index.html", `
-Hello1: Bonjour
-Hello2: Bonjour
-`)
-}
-
 func TestResourceChainPostCSS(t *testing.T) {
 	if !htesting.IsCI() {
 		t.Skip("skip (relative) long running modules test when running locally")
diff --git a/resources/resource_transformers/templates/integration_test.go b/resources/resource_transformers/templates/integration_test.go
@@ -0,0 +1,79 @@
+// Copyright 2021 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package templates_test
+
+import (
+	"testing"
+
+	qt "github.com/frankban/quicktest"
+
+	"github.com/gohugoio/hugo/hugolib"
+)
+
+func TestExecuteAsTemplateMultipleLanguages(t *testing.T) {
+	c := qt.New(t)
+
+	files := `
+-- config.toml --
+baseURL = "http://example.com/blog"
+defaultContentLanguage = "fr"
+defaultContentLanguageInSubdir = true
+[Languages]
+[Languages.en]
+weight = 10
+title = "In English"
+languageName = "English"
+[Languages.fr]
+weight = 20
+title = "Le Français"
+languageName = "Français"
+-- i18n/en.toml --
+[hello]
+other = "Hello"
+-- i18n/fr.toml --
+[hello]
+other = "Bonjour"
+-- layouts/index.fr.html --
+Lang: {{ site.Language.Lang }}
+{{ $templ := "{{T \"hello\"}}" | resources.FromString "f1.html" }}
+{{ $helloResource := $templ | resources.ExecuteAsTemplate (print "f%s.html" .Lang) . }}
+Hello1: {{T "hello"}}
+Hello2: {{ $helloResource.Content }}
+LangURL: {{ relLangURL "foo" }}
+-- layouts/index.html --
+Lang: {{ site.Language.Lang }}
+{{ $templ := "{{T \"hello\"}}" | resources.FromString "f1.html" }}
+{{ $helloResource := $templ | resources.ExecuteAsTemplate (print "f%s.html" .Lang) . }}
+Hello1: {{T "hello"}}
+Hello2: {{ $helloResource.Content }}
+LangURL: {{ relLangURL "foo" }}
+
+	`
+
+	b := hugolib.NewIntegrationTestBuilder(
+		hugolib.IntegrationTestConfig{
+			T:           c,
+			TxtarString: files,
+		}).Build()
+
+	b.AssertFileContent("public/en/index.html", `
+		Hello1: Hello
+		Hello2: Hello
+		`)
+
+	b.AssertFileContent("public/fr/index.html", `
+		Hello1: Bonjour
+		Hello2: Bonjour
+		`)
+}