mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	| @@ -77,7 +77,7 @@ func sanitizeURLWithFlags(in string, f purell.NormalizationFlags) string { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		panic(err) | 		panic(err) | ||||||
| 	} | 	} | ||||||
| 	if !strings.HasPrefix(u.Path, "/") { | 	if len(u.Path) > 0 && !strings.HasPrefix(u.Path, "/") { | ||||||
| 		u.Path = "/" + u.Path | 		u.Path = "/" + u.Path | ||||||
| 	} | 	} | ||||||
| 	return u.String() | 	return u.String() | ||||||
|   | |||||||
| @@ -31,11 +31,12 @@ func TestSanitizeURL(t *testing.T) { | |||||||
| 		input    string | 		input    string | ||||||
| 		expected string | 		expected string | ||||||
| 	}{ | 	}{ | ||||||
| 		{"http://foo.bar/", "http://foo.bar/"}, | 		{"http://foo.bar/", "http://foo.bar"}, | ||||||
|  | 		{"http://foo.bar", "http://foo.bar"},          // issue #1105 | ||||||
| 		{"http://foo.bar/zoo/", "http://foo.bar/zoo"}, // issue #931 | 		{"http://foo.bar/zoo/", "http://foo.bar/zoo"}, // issue #931 | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	for _, test := range tests { | 	for i, test := range tests { | ||||||
| 		o1 := SanitizeURL(test.input) | 		o1 := SanitizeURL(test.input) | ||||||
| 		o2 := SanitizeURLKeepTrailingSlash(test.input) | 		o2 := SanitizeURLKeepTrailingSlash(test.input) | ||||||
|  |  | ||||||
| @@ -46,10 +47,10 @@ func TestSanitizeURL(t *testing.T) { | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if o1 != test.expected { | 		if o1 != test.expected { | ||||||
| 			t.Errorf("Expected %#v, got %#v\n", test.expected, o1) | 			t.Errorf("[%d] 1: Expected %#v, got %#v\n", i, test.expected, o1) | ||||||
| 		} | 		} | ||||||
| 		if o2 != expected2 { | 		if o2 != expected2 { | ||||||
| 			t.Errorf("Expected %#v, got %#v\n", expected2, o2) | 			t.Errorf("[%d] 2: Expected %#v, got %#v\n", i, expected2, o2) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,7 +1,6 @@ | |||||||
| package hugolib | package hugolib | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"html/template" |  | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| @@ -10,6 +9,7 @@ import ( | |||||||
| 	"github.com/spf13/hugo/source" | 	"github.com/spf13/hugo/source" | ||||||
| 	"github.com/spf13/hugo/target" | 	"github.com/spf13/hugo/target" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
|  | 	"html/template" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const SLUG_DOC_1 = "---\ntitle: slug doc 1\nslug: slug-doc-1\naliases:\n - sd1/foo/\n - sd2\n - sd3/\n - sd4.html\n---\nslug doc 1 content\n" | const SLUG_DOC_1 = "---\ntitle: slug doc 1\nslug: slug-doc-1\naliases:\n - sd1/foo/\n - sd2\n - sd3/\n - sd4.html\n---\nslug doc 1 content\n" | ||||||
| @@ -52,6 +52,29 @@ var urlFakeSource = []source.ByteSource{ | |||||||
| 	{filepath.FromSlash("content/blue/doc2.md"), []byte(SLUG_DOC_2)}, | 	{filepath.FromSlash("content/blue/doc2.md"), []byte(SLUG_DOC_2)}, | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Issue #1105 | ||||||
|  | func TestShouldNotAddTrailingSlashToBaseURL(t *testing.T) { | ||||||
|  |  | ||||||
|  | 	for i, this := range []struct { | ||||||
|  | 		in       string | ||||||
|  | 		expected string | ||||||
|  | 	}{ | ||||||
|  | 		{"http://base.com/", "http://base.com/"}, | ||||||
|  | 		{"http://base.com/sub/", "http://base.com/sub/"}, | ||||||
|  | 		{"http://base.com/sub", "http://base.com/sub"}, | ||||||
|  | 		{"http://base.com", "http://base.com"}} { | ||||||
|  |  | ||||||
|  | 		viper.Set("BaseURL", this.in) | ||||||
|  | 		s := &Site{} | ||||||
|  | 		s.initializeSiteInfo() | ||||||
|  |  | ||||||
|  | 		if s.Info.BaseURL != template.URL(this.expected) { | ||||||
|  | 			t.Errorf("[%d] got %s expected %s", i, s.Info.BaseURL, this.expected) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
| func TestPageCount(t *testing.T) { | func TestPageCount(t *testing.T) { | ||||||
| 	hugofs.DestinationFS = new(afero.MemMapFs) | 	hugofs.DestinationFS = new(afero.MemMapFs) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user