Commit 86d3871e2cbae356f6542b5255b98bcb33ee5e41
Committed by
Antonio Terceiro
1 parent
2b9d5ed9
Exists in
staging
and in
42 other branches
Fixing problem of comments with long URL that overflow the content area
(ActionItem1686)
Showing
3 changed files
with
20 additions
and
4 deletions
Show diff stats
app/helpers/display_helper.rb
| ... | ... | @@ -31,9 +31,10 @@ module DisplayHelper |
| 31 | 31 | gsub( /\n\s*\n/, ' <p/> ' ). |
| 32 | 32 | gsub( /\n/, ' <br/> ' ). |
| 33 | 33 | gsub( /(^|\s)(www\.[^\s])/, '\1http://\2' ). |
| 34 | - gsub( /(https?:\/\/([^\s]+))/, | |
| 35 | - '<a href="\1" target="_blank" rel="nofolow" onclick="return confirm(\'' + | |
| 36 | - escape_javascript( _('Are you sure you want to visit this web site?') ) + | |
| 37 | - '\n\n\'+this.href)">\2</a>' ) | |
| 34 | + gsub( /(https?:\/\/([^\s]+))/ ) do | |
| 35 | + href, content = $1, $2.scan(/.{4}/).join('​') | |
| 36 | + content_tag(:a, content, :href => href, :target => '_blank', :rel => 'nofolow', | |
| 37 | + :onclick => "return confirm('%s')" % escape_javascript(_('Are you sure you want to visit this web site?'))) | |
| 38 | + end | |
| 38 | 39 | end |
| 39 | 40 | end | ... | ... |
test/functional/catalog_controller_test.rb
| ... | ... | @@ -80,4 +80,11 @@ class CatalogControllerTest < Test::Unit::TestCase |
| 80 | 80 | assert_tag :tag => 'a', :attributes => {:href => /assets\/products\?product_category=#{pc.id}/} |
| 81 | 81 | end |
| 82 | 82 | |
| 83 | + should 'add an zero width space every 4 caracters of comment urls' do | |
| 84 | + url = 'www.an.url.to.be.splited.com' | |
| 85 | + prod = @enterprise.products.create!(:name => 'Product test', :price => 50.00, :product_category => @product_category, :description => url) | |
| 86 | + get :index, :profile => @enterprise.identifier | |
| 87 | + assert_tag :a, :attributes => { :href => "http://" + url}, :content => url.scan(/.{4}/).join('​') | |
| 88 | + end | |
| 89 | + | |
| 83 | 90 | end | ... | ... |
test/functional/content_viewer_controller_test.rb
| ... | ... | @@ -1245,4 +1245,12 @@ class ContentViewerControllerTest < Test::Unit::TestCase |
| 1245 | 1245 | assert_redirected_to :profile => @profile.identifier, :page => page.explode_path |
| 1246 | 1246 | end |
| 1247 | 1247 | |
| 1248 | + should 'add an zero width space every 4 caracters of comment urls' do | |
| 1249 | + url = 'www.an.url.to.be.splited.com' | |
| 1250 | + a = fast_create(TextileArticle, :profile_id => @profile.id, :path => 'textile', :language => 'en') | |
| 1251 | + c = a.comments.create!(:author => @profile, :title => 'An url', :body => url) | |
| 1252 | + get :view_page, :profile => @profile.identifier, :page => [ 'textile' ] | |
| 1253 | + assert_tag :a, :attributes => { :href => "http://" + url}, :content => url.scan(/.{4}/).join('​') | |
| 1254 | + end | |
| 1255 | + | |
| 1248 | 1256 | end | ... | ... |