diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-12-23 09:52:05 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-12-27 12:01:54 +0100 |
commit | 88b5bbd5329a87046979e222a9ccf74eda59df3c (patch) | |
tree | 20cb12d2b79dc47142ec7b79a93523147348e287 /hugolib/hugo_sites_build_test.go | |
parent | d1b89f5c7cb3d1031d74014b4b2150a434bf557e (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.go | 43 |
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 { |