Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-02-09 16:08:01 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-02-09 17:41:32 +0300
commitb06c2103b84dde1d757bf8efe894014b678f460f (patch)
tree237a6de398116b89588a72c4a0c16980ca077277
parentd22f7795c721272b03f49ee41211adf054931e53 (diff)
templates: Port integration test to its package
-rw-r--r--hugolib/resource_chain_test.go26
-rw-r--r--resources/resource_transformers/templates/integration_test.go79
2 files changed, 79 insertions, 26 deletions
diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go
index 5d57b2a16..39f867570 100644
--- 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
new file mode 100644
index 000000000..685a9ba30
--- /dev/null
+++ 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
+ `)
+}