mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
parent
f6fdfcd429
commit
d35d82060f
2 changed files with 12 additions and 19 deletions
|
@ -47,7 +47,7 @@ const (
|
||||||
identifier="1"
|
identifier="1"
|
||||||
[[menu.tax]]
|
[[menu.tax]]
|
||||||
name = "Tax2"
|
name = "Tax2"
|
||||||
url = "/two/key"
|
url = "/two/key/"
|
||||||
identifier="2"
|
identifier="2"
|
||||||
[[menu.tax]]
|
[[menu.tax]]
|
||||||
name = "Tax RSS"
|
name = "Tax RSS"
|
||||||
|
@ -304,44 +304,34 @@ func TestMenuWithHashInURL(t *testing.T) {
|
||||||
|
|
||||||
assert.NotNil(t, me)
|
assert.NotNil(t, me)
|
||||||
|
|
||||||
assert.Equal(t, "/Zoo/resource/#anchor", me.URL)
|
assert.Equal(t, "/Zoo/resource#anchor", me.URL)
|
||||||
}
|
}
|
||||||
|
|
||||||
// issue #719
|
// issue #719
|
||||||
func TestMenuWithUnicodeURLs(t *testing.T) {
|
func TestMenuWithUnicodeURLs(t *testing.T) {
|
||||||
|
|
||||||
for _, uglyURLs := range []bool{true, false} {
|
for _, canonifyURLs := range []bool{true, false} {
|
||||||
for _, canonifyURLs := range []bool{true, false} {
|
doTestMenuWithUnicodeURLs(t, canonifyURLs)
|
||||||
doTestMenuWithUnicodeURLs(t, canonifyURLs, uglyURLs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func doTestMenuWithUnicodeURLs(t *testing.T, canonifyURLs, uglyURLs bool) {
|
func doTestMenuWithUnicodeURLs(t *testing.T, canonifyURLs bool) {
|
||||||
viper.Reset()
|
viper.Reset()
|
||||||
defer viper.Reset()
|
defer viper.Reset()
|
||||||
|
|
||||||
viper.Set("CanonifyURLs", canonifyURLs)
|
viper.Set("CanonifyURLs", canonifyURLs)
|
||||||
viper.Set("UglyURLs", uglyURLs)
|
|
||||||
|
|
||||||
s := setupMenuTests(t, MENU_PAGE_SOURCES)
|
s := setupMenuTests(t, MENU_PAGE_SOURCES)
|
||||||
|
|
||||||
unicodeRussian := findTestMenuEntryByID(s, "unicode", "unicode-russian")
|
unicodeRussian := findTestMenuEntryByID(s, "unicode", "unicode-russian")
|
||||||
|
|
||||||
expectedBase := "/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0"
|
expected := "/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0"
|
||||||
|
|
||||||
if !canonifyURLs {
|
if !canonifyURLs {
|
||||||
expectedBase = "/Zoo" + expectedBase
|
expected = "/Zoo" + expected
|
||||||
}
|
}
|
||||||
|
|
||||||
var expected string
|
assert.Equal(t, expected, unicodeRussian.URL)
|
||||||
if uglyURLs {
|
|
||||||
expected = expectedBase + ".html"
|
|
||||||
} else {
|
|
||||||
expected = expectedBase + "/"
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.Equal(t, expected, unicodeRussian.URL, "uglyURLs[%t]", uglyURLs)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Issue #1114
|
// Issue #1114
|
||||||
|
@ -383,6 +373,9 @@ func doTestSectionPagesMenu(canonifyUrls bool, t *testing.T) {
|
||||||
assert.NotNil(t, fishySectionMenuEntry)
|
assert.NotNil(t, fishySectionMenuEntry)
|
||||||
assert.NotNil(t, nodeFishy)
|
assert.NotNil(t, nodeFishy)
|
||||||
|
|
||||||
|
firstSectionMenuEntry.URL = firstSectionMenuEntry.URL + "/"
|
||||||
|
secondSectionMenuEntry.URL = secondSectionMenuEntry.URL + "/"
|
||||||
|
fishySectionMenuEntry.URL = fishySectionMenuEntry.URL + "/"
|
||||||
assert.True(t, nodeFirst.IsMenuCurrent("spm", firstSectionMenuEntry))
|
assert.True(t, nodeFirst.IsMenuCurrent("spm", firstSectionMenuEntry))
|
||||||
assert.False(t, nodeFirst.IsMenuCurrent("spm", secondSectionMenuEntry))
|
assert.False(t, nodeFirst.IsMenuCurrent("spm", secondSectionMenuEntry))
|
||||||
assert.False(t, nodeFirst.IsMenuCurrent("spm", fishySectionMenuEntry))
|
assert.False(t, nodeFirst.IsMenuCurrent("spm", fishySectionMenuEntry))
|
||||||
|
|
|
@ -736,7 +736,7 @@ func (s *SiteInfo) createNodeMenuEntryURL(in string) string {
|
||||||
}
|
}
|
||||||
// make it match the nodes
|
// make it match the nodes
|
||||||
menuEntryURL := in
|
menuEntryURL := in
|
||||||
menuEntryURL = helpers.URLizeAndPrep(menuEntryURL)
|
menuEntryURL = helpers.SanitizeURLKeepTrailingSlash(helpers.URLize(menuEntryURL))
|
||||||
if !s.canonifyURLs {
|
if !s.canonifyURLs {
|
||||||
menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
|
menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue