diff --git a/lib/noosfero/core_ext/string.rb b/lib/noosfero/core_ext/string.rb index 1e4e649..157aace 100644 --- a/lib/noosfero/core_ext/string.rb +++ b/lib/noosfero/core_ext/string.rb @@ -37,7 +37,7 @@ class String end def to_slug - transliterate.downcase.gsub(/^\d+/,'').gsub( /[^a-z0-9~\s:;+=_.-]/, '').gsub(/[\s:;+=_-]+/, '-').gsub(/-$/, '').gsub(/^-/, '').to_s + transliterate.downcase.gsub(/^\d+/,'').gsub( /[^a-z0-9~\s:;+=_."'`-]/, '').gsub(/[\s:;+=_"'`-]+/, '-').gsub(/-$/, '').gsub(/^-/, '').to_s end end diff --git a/test/unit/slug_test.rb b/test/unit/slug_test.rb index 85197ef..427b9f2 100644 --- a/test/unit/slug_test.rb +++ b/test/unit/slug_test.rb @@ -23,4 +23,8 @@ class SlugTest < Test::Unit::TestCase assert_equal 'a.b', 'a.b'.to_slug end + should 'turn quote and apostrophe into dashes' do + assert_equal 'a-b-c-d', 'a"b\'c`d'.to_slug + end + end -- libgit2 0.21.2