summaryrefslogtreecommitdiffstats
path: root/hugolib/site_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-04-17 19:55:38 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-04-17 20:01:21 +0200
commit77159b4b9b58190f50201be48dc514d969cf063a (patch)
tree11ae86c2dcc027b63e23c05ddcb899e9aa8a16bf /hugolib/site_test.go
parent215b8939bd14717d321dc8ad82458ac7b2e24391 (diff)
Add some schemaless BaseURL tests
See #2085
Diffstat (limited to 'hugolib/site_test.go')
-rw-r--r--hugolib/site_test.go80
1 files changed, 43 insertions, 37 deletions
diff --git a/hugolib/site_test.go b/hugolib/site_test.go
index dfef52f4e..f0c7a8e2d 100644
--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -628,54 +628,60 @@ func TestAbsURLify(t *testing.T) {
{filepath.FromSlash("sect/doc1.html"), []byte("<!doctype html><html><head></head><body><a href=\"#frag1\">link</a></body></html>")},
{filepath.FromSlash("content/blue/doc2.html"), []byte("---\nf: t\n---\n<!doctype html><html><body>more content</body></html>")},
}
- for _, canonify := range []bool{true, false} {
- viper.Set("CanonifyURLs", canonify)
- viper.Set("BaseURL", "http://auth/bub")
- s := &Site{
- Source: &source.InMemorySource{ByteSource: sources},
- targets: targetList{page: &target.PagePub{UglyURLs: true}},
- }
- t.Logf("Rendering with BaseURL %q and CanonifyURLs set %v", viper.GetString("baseURL"), canonify)
- s.initializeSiteInfo()
+ for _, baseURL := range []string{"http://auth/bub", "http://base", "//base"} {
+ for _, canonify := range []bool{true, false} {
+ viper.Set("CanonifyURLs", canonify)
+ viper.Set("BaseURL", baseURL)
+ s := &Site{
+ Source: &source.InMemorySource{ByteSource: sources},
+ targets: targetList{page: &target.PagePub{UglyURLs: true}},
+ }
+ t.Logf("Rendering with BaseURL %q and CanonifyURLs set %v", viper.GetString("baseURL"), canonify)
+ s.initializeSiteInfo()
- s.prepTemplates("blue/single.html", templateWithURLAbs)
+ s.prepTemplates("blue/single.html", templateWithURLAbs)
- if err := s.createPages(); err != nil {
- t.Fatalf("Unable to create pages: %s", err)
- }
+ if err := s.createPages(); err != nil {
+ t.Fatalf("Unable to create pages: %s", err)
+ }
- if err := s.buildSiteMeta(); err != nil {
- t.Fatalf("Unable to build site metadata: %s", err)
- }
+ if err := s.buildSiteMeta(); err != nil {
+ t.Fatalf("Unable to build site metadata: %s", err)
+ }
- if err := s.renderPages(); err != nil {
- t.Fatalf("Unable to render pages. %s", err)
- }
+ if err := s.renderPages(); err != nil {
+ t.Fatalf("Unable to render pages. %s", err)
+ }
- tests := []struct {
- file, expected string
- }{
- {"content/blue/doc2.html", "<a href=\"http://auth/bub/foobar.jpg\">Going</a>"},
- {"sect/doc1.html", "<!doctype html><html><head></head><body><a href=\"#frag1\">link</a></body></html>"},
- }
+ tests := []struct {
+ file, expected string
+ }{
+ {"content/blue/doc2.html", "<a href=\"%s/foobar.jpg\">Going</a>"},
+ {"sect/doc1.html", "<!doctype html><html><head></head><body><a href=\"#frag1\">link</a></body></html>"},
+ }
- for _, test := range tests {
+ for _, test := range tests {
- file, err := hugofs.Destination().Open(filepath.FromSlash(test.file))
- if err != nil {
- t.Fatalf("Unable to locate rendered content: %s", test.file)
- }
+ file, err := hugofs.Destination().Open(filepath.FromSlash(test.file))
+ if err != nil {
+ t.Fatalf("Unable to locate rendered content: %s", test.file)
+ }
- content := helpers.ReaderToString(file)
+ content := helpers.ReaderToString(file)
- expected := test.expected
+ expected := test.expected
- if !canonify {
- expected = strings.Replace(expected, viper.GetString("baseurl"), "", -1)
- }
+ if strings.Contains(expected, "%s") {
+ expected = fmt.Sprintf(expected, baseURL)
+ }
+
+ if !canonify {
+ expected = strings.Replace(expected, baseURL, "", -1)
+ }
- if content != expected {
- t.Errorf("AbsURLify content expected:\n%q\ngot\n%q", expected, content)
+ if content != expected {
+ t.Errorf("AbsURLify with baseURL %q content expected:\n%q\ngot\n%q", baseURL, expected, content)
+ }
}
}
}