diff --git a/lib/noosfero/core_ext/string.rb b/lib/noosfero/core_ext/string.rb index 5c71347..94abad4 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(/[^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 427b9f2..71ba1cf 100644 --- a/test/unit/slug_test.rb +++ b/test/unit/slug_test.rb @@ -7,7 +7,7 @@ class SlugTest < Test::Unit::TestCase assert_equal 'abc', 'abc!)@(*#&@!*#*)'.to_slug end - should 'turn punctuation into dashes' do + should 'turn punctuation into s' do assert_equal 'a-b-c-d-e-f', 'a:b;c+d=e_f'.to_slug end @@ -27,4 +27,9 @@ class SlugTest < Test::Unit::TestCase assert_equal 'a-b-c-d', 'a"b\'c`d'.to_slug end + should 'not remove numbers in beginning of slug' do + assert_equal '3-times', '3 times'.to_slug + assert_equal '3x640.jpg', '3x640.jpg'.to_slug + end + end -- libgit2 0.21.2