Commit 217b21e38b5018b361a7e3ecfa2d435f076ef5d1

Authored by Moises Machado
Committed by Antonio Terceiro
1 parent 0b907bbd

ActionItem1229: added http:// in front of incomplete external links in link blocks

app/models/link_list_block.rb
... ... @@ -55,11 +55,16 @@ class LinkListBlock < Block
55 55 end
56 56  
57 57 def expand_address(address)
58   - if owner.respond_to?(:identifier)
  58 + add = if owner.respond_to?(:identifier)
59 59 address.gsub('{profile}', owner.identifier)
60 60 else
61 61 address
62 62 end
  63 + if add !~ /^[a-z]+:\/\// && add !~ /^\//
  64 + 'http://' + add
  65 + else
  66 + add
  67 + end
63 68 end
64 69  
65 70 def editable?
... ...
test/unit/link_list_block_test.rb
... ... @@ -67,4 +67,11 @@ class LinkListBlockTest < ActiveSupport::TestCase
67 67 assert_no_match /onclick/, l.link_html(l.links.first)
68 68 end
69 69  
  70 + should 'add http in front of incomplete external links' do
  71 + {'/local/link' => '/local/link', 'http://example.org' => 'http://example.org', 'example.org' => 'http://example.org'}.each do |input, output|
  72 + l = LinkListBlock.new(:links => [{:name => 'categ', :address => input}])
  73 + assert_tag_in_string l.content, :tag => 'a', :attributes => {:href => output}
  74 + end
  75 + end
  76 +
70 77 end
... ...