0
@@ -225,36 +225,41 @@ class TextHelperTest < ActionView::TestCase
0
- assert_equal %(<a href="#{
url}">#{url}</a>), auto_link(url)
0
+ assert_equal %(<a href="#{
CGI::escapeHTML url}">#{CGI::escapeHTML url}</a>), auto_link(url)
0
+ def generate_result(link_text, href = nil)
0
+ %{<a href="#{CGI::escapeHTML href}">#{CGI::escapeHTML link_text}</a>}
0
email_raw = 'david@loudthinking.com'
0
email_result = %{<a href="mailto:#{email_raw}">#{email_raw}</a>}
0
email2_raw = '+david@loudthinking.com'
0
email2_result = %{<a href="mailto:#{email2_raw}">#{email2_raw}</a>}
0
link_raw = 'http://www.rubyonrails.com'
0
- link_result =
%{<a href="#{link_raw}">#{link_raw}</a>}0
+ link_result =
generate_result(link_raw)0
link_result_with_options = %{<a href="#{link_raw}" target="_blank">#{link_raw}</a>}
0
link2_raw = 'www.rubyonrails.com'
0
- link2_result =
%{<a href="http://#{link2_raw}">#{link2_raw}</a>}0
+ link2_result =
generate_result(link2_raw, "http://#{link2_raw}")0
link3_raw = 'http://manuals.ruby-on-rails.com/read/chapter.need_a-period/103#page281'
0
- link3_result =
%{<a href="#{link3_raw}">#{link3_raw}</a>}0
+ link3_result =
generate_result(link3_raw)0
link4_raw = 'http://foo.example.com/controller/action?parm=value&p2=v2#anchor123'
0
- link4_result =
%{<a href="#{link4_raw}">#{link4_raw}</a>}0
+ link4_result =
generate_result(link4_raw)0
link5_raw = 'http://foo.example.com:3000/controller/action'
0
- link5_result =
%{<a href="#{link5_raw}">#{link5_raw}</a>}0
+ link5_result =
generate_result(link5_raw)0
link6_raw = 'http://foo.example.com:3000/controller/action+pack'
0
- link6_result =
%{<a href="#{link6_raw}">#{link6_raw}</a>}0
+ link6_result =
generate_result(link6_raw)0
link7_raw = 'http://foo.example.com/controller/action?parm=value&p2=v2#anchor-123'
0
- link7_result =
%{<a href="#{link7_raw}">#{link7_raw}</a>}0
+ link7_result =
generate_result(link7_raw)0
link8_raw = 'http://foo.example.com:3000/controller/action.html'
0
- link8_result =
%{<a href="#{link8_raw}">#{link8_raw}</a>}0
+ link8_result =
generate_result(link8_raw)0
link9_raw = 'http://business.timesonline.co.uk/article/0,,9065-2473189,00.html'
0
- link9_result =
%{<a href="#{link9_raw}">#{link9_raw}</a>}0
+ link9_result =
generate_result(link9_raw)0
link10_raw = 'http://www.mail-archive.com/ruby-talk@ruby-lang.org/'
0
- link10_result =
%{<a href="#{link10_raw}">#{link10_raw}</a>}0
+ link10_result =
generate_result(link10_raw)0
assert_equal %(hello #{email_result}), auto_link("hello #{email_raw}", :email_addresses)
0
assert_equal %(Go to #{link_result}), auto_link("Go to #{link_raw}", :urls)
0
@@ -299,7 +304,13 @@ class TextHelperTest < ActionView::TestCase
0
assert_equal '', auto_link(nil)
0
assert_equal '', auto_link('')
0
assert_equal "#{link_result} #{link_result} #{link_result}", auto_link("#{link_raw} #{link_raw} #{link_raw}")
0
- assert_equal '<a href="http://www.rubyonrails.com">Ruby On Rails</a>', auto_link('<a href="http://www.rubyonrails.com">Ruby On Rails</a>')
0
+ def test_auto_link_already_linked
0
+ linked1 = generate_result('Ruby On Rails', 'http://www.rubyonrails.com')
0
+ linked2 = generate_result('www.rubyonrails.com', 'http://www.rubyonrails.com')
0
+ assert_equal linked1, auto_link(linked1)
0
+ assert_equal linked2, auto_link(linked2)
0
def test_auto_link_at_eol
0
@@ -317,7 +328,7 @@ class TextHelperTest < ActionView::TestCase
0
def test_auto_link_with_options_hash
0
- assert_
equal 'Welcome to my new blog at <a href="http://www.myblog.com/" class="menu" target="_blank">http://www.myblog.com/</a>. Please e-mail me at <a href="mailto:me@email.com">me@email.com</a>.',
0
+ assert_
dom_equal 'Welcome to my new blog at <a href="http://www.myblog.com/" class="menu" target="_blank">http://www.myblog.com/</a>. Please e-mail me at <a href="mailto:me@email.com">me@email.com</a>.',
0
auto_link("Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com.",
0
:link => :all, :html => { :class => "menu", :target => "_blank" })