diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-02-09 14:08:01 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-02-09 15:41:32 +0100 |
commit | b06c2103b84dde1d757bf8efe894014b678f460f (patch) | |
tree | 237a6de398116b89588a72c4a0c16980ca077277 /resources/resource_transformers/templates | |
parent | d22f7795c721272b03f49ee41211adf054931e53 (diff) |
templates: Port integration test to its package
Diffstat (limited to 'resources/resource_transformers/templates')
-rw-r--r-- | resources/resource_transformers/templates/integration_test.go | 79 |
1 files changed, 79 insertions, 0 deletions
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 + `) +} |