shithub: hugo

Download patch

ref: d35d82060fce24533fc29a04a3e341869f196172
parent: f6fdfcd42917b6933628a58d5feac6b9a566caa9
author: gunnaraasen <[email protected]>
date: Wed Dec 2 09:58:54 EST 2015

Remove transformation of menu URLs

 Fixes #1239

--- a/hugolib/menu_test.go
+++ b/hugolib/menu_test.go
@@ -47,7 +47,7 @@
 	identifier="1"
 [[menu.tax]]
 	name = "Tax2"
-    url = "/two/key"
+    url = "/two/key/"
 	identifier="2"
 [[menu.tax]]
 	name = "Tax RSS"
@@ -304,44 +304,34 @@
 
 	assert.NotNil(t, me)
 
-	assert.Equal(t, "/Zoo/resource/#anchor", me.URL)
+	assert.Equal(t, "/Zoo/resource#anchor", me.URL)
 }
 
 // issue #719
 func TestMenuWithUnicodeURLs(t *testing.T) {
 
-	for _, uglyURLs := range []bool{true, false} {
-		for _, canonifyURLs := range []bool{true, false} {
-			doTestMenuWithUnicodeURLs(t, canonifyURLs, uglyURLs)
-		}
+	for _, canonifyURLs := range []bool{true, false} {
+		doTestMenuWithUnicodeURLs(t, canonifyURLs)
 	}
 }
 
-func doTestMenuWithUnicodeURLs(t *testing.T, canonifyURLs, uglyURLs bool) {
+func doTestMenuWithUnicodeURLs(t *testing.T, canonifyURLs bool) {
 	viper.Reset()
 	defer viper.Reset()
 
 	viper.Set("CanonifyURLs", canonifyURLs)
-	viper.Set("UglyURLs", uglyURLs)
 
 	s := setupMenuTests(t, MENU_PAGE_SOURCES)
 
 	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 {
-		expectedBase = "/Zoo" + expectedBase
+		expected = "/Zoo" + expected
 	}
 
-	var expected string
-	if uglyURLs {
-		expected = expectedBase + ".html"
-	} else {
-		expected = expectedBase + "/"
-	}
-
-	assert.Equal(t, expected, unicodeRussian.URL, "uglyURLs[%t]", uglyURLs)
+	assert.Equal(t, expected, unicodeRussian.URL)
 }
 
 // Issue #1114
@@ -383,6 +373,9 @@
 	assert.NotNil(t, fishySectionMenuEntry)
 	assert.NotNil(t, nodeFishy)
 
+	firstSectionMenuEntry.URL = firstSectionMenuEntry.URL + "/"
+	secondSectionMenuEntry.URL = secondSectionMenuEntry.URL + "/"
+	fishySectionMenuEntry.URL = fishySectionMenuEntry.URL + "/"
 	assert.True(t, nodeFirst.IsMenuCurrent("spm", firstSectionMenuEntry))
 	assert.False(t, nodeFirst.IsMenuCurrent("spm", secondSectionMenuEntry))
 	assert.False(t, nodeFirst.IsMenuCurrent("spm", fishySectionMenuEntry))
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -736,7 +736,7 @@
 	}
 	// make it match the nodes
 	menuEntryURL := in
-	menuEntryURL = helpers.URLizeAndPrep(menuEntryURL)
+	menuEntryURL = helpers.SanitizeURLKeepTrailingSlash(helpers.URLize(menuEntryURL))
 	if !s.canonifyURLs {
 		menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
 	}