Do not force downcase on URLs. Fixes #621

This commit is contained in:
Jamie Oliver
2013-08-04 18:27:32 +01:00
parent 9c714e7687
commit 90e20810d5
2 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ class String
# _Header => header which causes errors # _Header => header which causes errors
def to_url def to_url
return nil if self.nil? return nil if self.nil?
upstream_to_url :exclude => ['_Header', '_Footer', '_Sidebar'] upstream_to_url :exclude => ['_Header', '_Footer', '_Sidebar'], :force_downcase => false
end end
end end
+8 -8
View File
@@ -29,13 +29,13 @@ context "Frontend" do
# spaces are converted to dashes in URLs # spaces are converted to dashes in URLs
# and in file names saved to disk # and in file names saved to disk
# urls are not case sensitive # urls are not case sensitive
assert_equal 'title-space', 'Title Space'.to_url assert_equal 'Title-Space', 'Title Space'.to_url
# ascii only file names prevent UTF8 issues # ascii only file names prevent UTF8 issues
# when using git repos across operating systems # when using git repos across operating systems
# as this test demonstrates, translation is not # as this test demonstrates, translation is not
# great # great
assert_equal 'm-plus-f', 'μ†ℱ'.to_url assert_equal 'm-plus-F', 'μ†ℱ'.to_url
end end
test "utf-8 kcode" do test "utf-8 kcode" do
@@ -253,7 +253,7 @@ context "Frontend" do
test "creates pages with escaped characters in title" do test "creates pages with escaped characters in title" do
post "/create", :content => 'abc', :page => 'Title with spaces', post "/create", :content => 'abc', :page => 'Title with spaces',
:format => 'markdown', :message => 'foo' :format => 'markdown', :message => 'foo'
assert_equal 'http://example.org/title-with-spaces', last_response.headers['Location'] assert_equal 'http://example.org/Title-with-spaces', last_response.headers['Location']
get "/Title-with-spaces" get "/Title-with-spaces"
assert_match /abc/, last_response.body assert_match /abc/, last_response.body
end end
@@ -278,7 +278,7 @@ context "Frontend" do
post "/create", :content => 'abc', :page => 'Home', :path => '/foo/', post "/create", :content => 'abc', :page => 'Home', :path => '/foo/',
:format => 'markdown', :message => 'foo' :format => 'markdown', :message => 'foo'
assert_equal "http://example.org/foo/home", last_response.headers['Location'] assert_equal "http://example.org/foo/Home", last_response.headers['Location']
follow_redirect! follow_redirect!
assert last_response.ok? assert last_response.ok?
@@ -612,13 +612,13 @@ context "Frontend with lotr" do
test "create pages within sub-directories" do test "create pages within sub-directories" do
post "/create", :content => 'big smelly creatures', :page => 'Orc', post "/create", :content => 'big smelly creatures', :page => 'Orc',
:path => 'Mordor', :format => 'markdown', :message => 'oooh, scary' :path => 'Mordor', :format => 'markdown', :message => 'oooh, scary'
assert_equal 'http://example.org/Mordor/orc', last_response.headers['Location'] assert_equal 'http://example.org/Mordor/Orc', last_response.headers['Location']
get "/Mordor/Orc" get "/Mordor/Orc"
assert_match /big smelly creatures/, last_response.body assert_match /big smelly creatures/, last_response.body
post "/create", :content => 'really big smelly creatures', :page => 'Uruk Hai', post "/create", :content => 'really big smelly creatures', :page => 'Uruk Hai',
:path => 'Mordor', :format => 'markdown', :message => 'oooh, very scary' :path => 'Mordor', :format => 'markdown', :message => 'oooh, very scary'
assert_equal 'http://example.org/Mordor/uruk-hai', last_response.headers['Location'] assert_equal 'http://example.org/Mordor/Uruk-Hai', last_response.headers['Location']
get "/Mordor/Uruk-Hai" get "/Mordor/Uruk-Hai"
assert_match /really big smelly creatures/, last_response.body assert_match /really big smelly creatures/, last_response.body
end end
@@ -627,11 +627,11 @@ context "Frontend with lotr" do
post "/create", :content => 'big smelly creatures', :page => 'Orc', post "/create", :content => 'big smelly creatures', :page => 'Orc',
:path => 'Mordor', :format => 'markdown', :message => 'oooh, scary' :path => 'Mordor', :format => 'markdown', :message => 'oooh, scary'
assert_equal 'http://example.org/Mordor/orc', last_response.headers['Location'] assert_equal 'http://example.org/Mordor/Orc', last_response.headers['Location']
post "/edit/Mordor/Orc", :content => 'not so big smelly creatures', post "/edit/Mordor/Orc", :content => 'not so big smelly creatures',
:page => 'Orc', :path => 'Mordor', :message => 'minor edit' :page => 'Orc', :path => 'Mordor', :message => 'minor edit'
assert_equal 'http://example.org/Mordor/orc', last_response.headers['Location'] assert_equal 'http://example.org/Mordor/Orc', last_response.headers['Location']
get "/Mordor/Orc" get "/Mordor/Orc"
assert_match /not so big smelly creatures/, last_response.body assert_match /not so big smelly creatures/, last_response.body