summaryrefslogtreecommitdiffstats
path: root/hugolib/hugo_sites_build_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-12-23 09:52:05 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-12-27 12:01:54 +0100
commit88b5bbd5329a87046979e222a9ccf74eda59df3c (patch)
tree20cb12d2b79dc47142ec7b79a93523147348e287 /hugolib/hugo_sites_build_test.go
parentd1b89f5c7cb3d1031d74014b4b2150a434bf557e (diff)
hugolib: Fix IsTranslated for "old" node types
The new logic for creating Page objects from old node types didn't include itself in the translation logic, so `IsTranslated` returned falsely false for sites with only two languages. The `AllTranslations` method also returned too few pages in that case. This commit fixes that. Fixes #2812
Diffstat (limited to 'hugolib/hugo_sites_build_test.go')
-rw-r--r--hugolib/hugo_sites_build_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/hugolib/hugo_sites_build_test.go b/hugolib/hugo_sites_build_test.go
index 242774a9b..8624a02c8 100644
--- a/hugolib/hugo_sites_build_test.go
+++ b/hugolib/hugo_sites_build_test.go
@@ -186,6 +186,49 @@ func assertFileContentRegexp(t *testing.T, filename string, defaultInSubDir bool
}
}
+func TestMultiSitesWithTwoLanguages(t *testing.T) {
+ testCommonResetState()
+
+ viper.Set("defaultContentLanguage", "nn")
+
+ writeSource(t, "config.toml", `
+[languages]
+[languages.nn]
+languageName = "Nynorsk"
+weight = 1
+title = "Tittel på Nynorsk"
+
+[languages.en]
+title = "Title in English"
+languageName = "English"
+weight = 2
+`,
+ )
+
+ if err := LoadGlobalConfig("", "config.toml"); err != nil {
+ t.Fatalf("Failed to load config: %s", err)
+ }
+
+ // Add some data
+ writeSource(t, "data/hugo.toml", "slogan = \"Hugo Rocks!\"")
+
+ sites, err := NewHugoSitesFromConfiguration()
+
+ if err != nil {
+ t.Fatalf("Failed to create sites: %s", err)
+ }
+
+ require.NoError(t, sites.Build(BuildCfg{}))
+ require.Len(t, sites.Sites, 2)
+
+ nnSite := sites.Sites[0]
+ nnSiteHome := nnSite.getPage(KindHome)
+ require.Len(t, nnSiteHome.AllTranslations(), 2)
+ require.Len(t, nnSiteHome.Translations(), 1)
+ require.True(t, nnSiteHome.IsTranslated())
+
+}
+
//
func TestMultiSitesBuild(t *testing.T) {
for _, config := range []struct {