diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-11-02 08:25:20 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-11-17 11:01:46 +0100 |
commit | 2e0465764b5dacc511b977b1c9aa07324ad0ee9c (patch) | |
tree | ae5a32eb9340e4c0e78e063228821edc29037631 /hugolib/hugo_sites_multihost_test.go | |
parent | 6233ddf9d19b51f69c0c4a796d88732d1700e585 (diff) |
Add multilingual multihost support
This commit adds multihost support when more than one language is configured and `baseURL` is set per language.
Updates #4027
Diffstat (limited to 'hugolib/hugo_sites_multihost_test.go')
-rw-r--r-- | hugolib/hugo_sites_multihost_test.go | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/hugolib/hugo_sites_multihost_test.go b/hugolib/hugo_sites_multihost_test.go new file mode 100644 index 000000000..864d52c71 --- /dev/null +++ b/hugolib/hugo_sites_multihost_test.go @@ -0,0 +1,72 @@ +package hugolib + +import ( + "testing" + + "github.com/spf13/afero" + "github.com/stretchr/testify/require" +) + +func TestMultihosts(t *testing.T) { + t.Parallel() + + var multiSiteTOMLConfigTemplate = ` +paginate = 1 +disablePathToLower = true +defaultContentLanguage = "{{ .DefaultContentLanguage }}" +defaultContentLanguageInSubdir = {{ .DefaultContentLanguageInSubdir }} + +[permalinks] +other = "/somewhere/else/:filename" + +[Taxonomies] +tag = "tags" + +[Languages] +[Languages.en] +baseURL = "https://example.com" +weight = 10 +title = "In English" +languageName = "English" + +[Languages.fr] +baseURL = "https://example.fr" +weight = 20 +title = "Le Français" +languageName = "Français" + +[Languages.nn] +baseURL = "https://example.no" +weight = 30 +title = "På nynorsk" +languageName = "Nynorsk" + +` + + siteConfig := testSiteConfig{Fs: afero.NewMemMapFs(), DefaultContentLanguage: "fr", DefaultContentLanguageInSubdir: false} + sites := createMultiTestSites(t, siteConfig, multiSiteTOMLConfigTemplate) + fs := sites.Fs + cfg := BuildCfg{Watching: true} + th := testHelper{sites.Cfg, fs, t} + assert := require.New(t) + + err := sites.Build(cfg) + assert.NoError(err) + + th.assertFileContent("public/en/sect/doc1-slug/index.html", "Hello") + + s1 := sites.Sites[0] + + s1h := s1.getPage(KindHome) + assert.True(s1h.IsTranslated()) + assert.Len(s1h.Translations(), 2) + assert.Equal("https://example.com/", s1h.Permalink()) + + s2 := sites.Sites[1] + s2h := s2.getPage(KindHome) + assert.Equal("https://example.fr/", s2h.Permalink()) + + th.assertFileContentStraight("public/fr/index.html", "French Home Page") + th.assertFileContentStraight("public/en/index.html", "Default Home Page") + +} |