mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-17 21:01:26 +02:00
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
This commit is contained in:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user