shithub: hugo

Download patch

ref: 40fccf2251a7187f002165653d42178e2f53a49b
parent: b56362defd8f067a1bab2f5502e851dfd9311ec2
author: Daniel TISCHER <dos.7182@gmail.com>
date: Wed Nov 25 18:03:28 EST 2015

Fixes #1292

--- a/helpers/path.go
+++ b/helpers/path.go
@@ -96,7 +96,7 @@
 	target := make([]rune, 0, len(source))
 
 	for _, r := range source {
-		if unicode.IsLetter(r) || unicode.IsDigit(r) || unicode.IsMark(r) || r == '.' || r == '/' || r == '\\' || r == '_' || r == '-' || r == '#' {
+		if unicode.IsLetter(r) || unicode.IsDigit(r) || unicode.IsMark(r) || r == '%' || r == '.' || r == '/' || r == '\\' || r == '_' || r == '-' || r == '#' {
 			target = append(target, r)
 		}
 	}
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -40,7 +40,7 @@
 	}{
 		{"  Foo bar  ", "Foo-bar", true},
 		{"Foo.Bar/foo_Bar-Foo", "Foo.Bar/foo_Bar-Foo", true},
-		{"fOO,bar:foo%bAR", "fOObarfoobAR", true},
+		{"fOO,bar:foobAR", "fOObarfoobAR", true},
 		{"FOo/BaR.html", "FOo/BaR.html", true},
 		{"трям/трям", "трям/трям", true},
 		{"은행", "은행", true},
@@ -47,6 +47,7 @@
 		{"Банковский кассир", "Банковскии-кассир", true},
 		// Issue #1488
 		{"संस्कृत", "संस्कृत", false},
+		{"a%C3%B1ame", "a%C3%B1ame", false}, // Issue #1292
 	}
 
 	for _, test := range tests {
@@ -68,7 +69,7 @@
 	}{
 		{"  FOO bar  ", "foo-bar"},
 		{"Foo.Bar/fOO_bAr-Foo", "foo.bar/foo_bar-foo"},
-		{"FOO,bar:Foo%Bar", "foobarfoobar"},
+		{"FOO,bar:FooBar", "foobarfoobar"},
 		{"foo/BAR.HTML", "foo/bar.html"},
 		{"трям/трям", "трям/трям"},
 		{"은행", "은행"},
@@ -93,7 +94,7 @@
 	}{
 		{"  FOO bar  ", "FOO-bar"},
 		{"Foo.Bar/fOO_bAr-Foo", "Foo.Bar/fOO_bAr-Foo"},
-		{"FOO,bar:Foo%Bar", "FOObarFooBar"},
+		{"FOO,bar:FooBar", "FOObarFooBar"},
 		{"foo/BAR.HTML", "foo/BAR.HTML"},
 		{"трям/трям", "трям/трям"},
 		{"은행", "은행"},
@@ -771,6 +772,7 @@
 		{testDir + "  Foo bar  ", dir + testDir + "  Foo bar  " + FilePathSeparator},
 		{testDir + "Foo.Bar/foo_Bar-Foo", dir + testDir + "Foo.Bar/foo_Bar-Foo" + FilePathSeparator},
 		{testDir + "fOO,bar:foo%bAR", dir + testDir + "fOObarfoo%bAR" + FilePathSeparator},
+		{testDir + "fOO,bar:foobAR", dir + testDir + "fOObarfoobAR" + FilePathSeparator},
 		{testDir + "FOo/BaR.html", dir + testDir + "FOo/BaR.html" + FilePathSeparator},
 		{testDir + "трям/трям", dir + testDir + "трям/трям" + FilePathSeparator},
 		{testDir + "은행", dir + testDir + "은행" + FilePathSeparator},
--- a/helpers/url_test.go
+++ b/helpers/url_test.go
@@ -28,7 +28,7 @@
 	}{
 		{"  foo bar  ", "foo-bar"},
 		{"foo.bar/foo_bar-foo", "foo.bar/foo_bar-foo"},
-		{"foo,bar:foo%bar", "foobarfoobar"},
+		{"foo,bar:foobar", "foobarfoobar"},
 		{"foo/bar.html", "foo/bar.html"},
 		{"трям/трям", "%D1%82%D1%80%D1%8F%D0%BC/%D1%82%D1%80%D1%8F%D0%BC"},
 	}