X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ed1f441ef345d1033f31252d54f18b6eca80566a..5ba64efd7c426b99b4bcbad7a9b841daf13eba06:/test/helpers/browse_helper_test.rb
diff --git a/test/helpers/browse_helper_test.rb b/test/helpers/browse_helper_test.rb
index 8890a0de6..acc7f2727 100644
--- a/test/helpers/browse_helper_test.rb
+++ b/test/helpers/browse_helper_test.rb
@@ -123,6 +123,9 @@ class BrowseHelperTest < ActionView::TestCase
html = format_value("phone", "+1234567890")
assert_dom_equal "+1234567890", html
+ html = format_value("phone", "+1 (234) 567-890 ; +22334455")
+ assert_dom_equal "+1 (234) 567-890; +22334455", html
+
html = format_value("wikipedia", "Test")
assert_dom_equal "Test", html
@@ -304,48 +307,78 @@ class BrowseHelperTest < ActionView::TestCase
assert_nil link
end
- def test_telephone_link
- link = telephone_link("foo", "Test")
- assert_nil link
+ def test_telephone_links
+ links = telephone_links("foo", "Test")
+ assert_nil links
- link = telephone_link("phone", "+123")
- assert_nil link
+ links = telephone_links("phone", "+123")
+ assert_nil links
- link = telephone_link("phone", "123")
- assert_nil link
+ links = telephone_links("phone", "123")
+ assert_nil links
- link = telephone_link("phone", "123 abcdefg")
- assert_nil link
+ links = telephone_links("phone", "123 abcdefg")
+ assert_nil links
- link = telephone_link("phone", "+1234567890 abc")
- assert_nil link
+ links = telephone_links("phone", "+1234567890 abc")
+ assert_nil links
- link = telephone_link("phone", "+1234567890; +22334455667788")
- assert_nil link
+ # If multiple numbers are listed, all must be valid
+ links = telephone_links("phone", "+1234567890; +223")
+ assert_nil links
- link = telephone_link("phone", "1234567890")
- assert_nil link
+ links = telephone_links("phone", "1234567890")
+ assert_nil links
- link = telephone_link("phone", "+1234567890")
- assert_equal "tel:+1234567890", link
+ links = telephone_links("phone", "+1234567890")
+ assert_equal 1, links.length
+ assert_equal "+1234567890", links[0][:phone_number]
+ assert_equal "tel:+1234567890", links[0][:url]
- link = telephone_link("phone", "+1234-567-890")
- assert_equal "tel:+1234-567-890", link
+ links = telephone_links("phone", "+1234-567-890")
+ assert_equal 1, links.length
+ assert_equal "+1234-567-890", links[0][:phone_number]
+ assert_equal "tel:+1234-567-890", links[0][:url]
- link = telephone_link("phone", "+1234/567/890")
- assert_equal "tel:+1234/567/890", link
+ links = telephone_links("phone", "+1234/567/890")
+ assert_equal 1, links.length
+ assert_equal "+1234/567/890", links[0][:phone_number]
+ assert_equal "tel:+1234/567/890", links[0][:url]
- link = telephone_link("phone", "+1234.567.890")
- assert_equal "tel:+1234.567.890", link
+ links = telephone_links("phone", "+1234.567.890")
+ assert_equal 1, links.length
+ assert_equal "+1234.567.890", links[0][:phone_number]
+ assert_equal "tel:+1234.567.890", links[0][:url]
- link = telephone_link("phone", " +1234 567-890 ")
- assert_equal "tel:+1234567-890", link
+ links = telephone_links("phone", " +1234 567-890 ")
+ assert_equal 1, links.length
+ assert_equal "+1234 567-890", links[0][:phone_number]
+ assert_equal "tel:+1234567-890", links[0][:url]
- link = telephone_link("phone", "+1 234-567-890")
- assert_equal "tel:+1234-567-890", link
+ links = telephone_links("phone", "+1 234-567-890")
+ assert_equal 1, links.length
+ assert_equal "+1 234-567-890", links[0][:phone_number]
+ assert_equal "tel:+1234-567-890", links[0][:url]
- link = telephone_link("phone", "+1 (234) 567-890")
- assert_equal "tel:+1(234)567-890", link
+ links = telephone_links("phone", "+1 (234) 567-890")
+ assert_equal 1, links.length
+ assert_equal "+1 (234) 567-890", links[0][:phone_number]
+ assert_equal "tel:+1(234)567-890", links[0][:url]
+
+ # Multiple valid phone numbers separated by ;
+ links = telephone_links("phone", "+1234567890; +22334455667788")
+ assert_equal 2, links.length
+ assert_equal "+1234567890", links[0][:phone_number]
+ assert_equal "tel:+1234567890", links[0][:url]
+ assert_equal "+22334455667788", links[1][:phone_number]
+ assert_equal "tel:+22334455667788", links[1][:url]
+
+ links = telephone_links("phone", "+1 (234) 567-890 ; +22(33)4455.66.7788 ")
+ assert_equal 2, links.length
+ assert_equal "+1 (234) 567-890", links[0][:phone_number]
+ assert_equal "tel:+1(234)567-890", links[0][:url]
+ assert_equal "+22(33)4455.66.7788", links[1][:phone_number]
+ assert_equal "tel:+22(33)4455.66.7788", links[1][:url]
end
def add_old_tags_selection(old_node)