summaryrefslogtreecommitdiffstats
path: root/hugolib/hugo_sites_multihost_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-11-02 08:25:20 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-11-17 11:01:46 +0100
commit2e0465764b5dacc511b977b1c9aa07324ad0ee9c (patch)
treeae5a32eb9340e4c0e78e063228821edc29037631 /hugolib/hugo_sites_multihost_test.go
parent6233ddf9d19b51f69c0c4a796d88732d1700e585 (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.go72
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")
+
+}