From 0eff6956a55882817f67c8d471d32ed3e4b109ee Mon Sep 17 00:00:00 2001
From: Pietro Moro <33845712+pietro-moro@users.noreply.github.com>
Date: Fri, 26 Jul 2019 20:54:57 +0200
Subject: Added a phone_to helper method, on the style of mail_to and sms_to.
(#36775)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Added a phone_to helper method, on the style of mail_to and sms_to.
It creates an anchor tag with the href set to tel: *here your number*
which, when clicked on a mobile phone, or on a desktop with a supported
application, lets the phone app kick in, and it prepopulates it with the
phone number specified.
[Pietro Moro + Rafael Mendonça França]
---
actionview/test/template/url_helper_test.rb | 64 +++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
(limited to 'actionview/test')
diff --git a/actionview/test/template/url_helper_test.rb b/actionview/test/template/url_helper_test.rb
index bce6e7f370..d1570553dd 100644
--- a/actionview/test/template/url_helper_test.rb
+++ b/actionview/test/template/url_helper_test.rb
@@ -770,6 +770,70 @@ class UrlHelperTest < ActiveSupport::TestCase
assert_equal({ class: "special" }, options)
end
+ def test_phone_to
+ assert_dom_equal %{1234567890},
+ phone_to("1234567890")
+ assert_dom_equal %{Bob},
+ phone_to("1234567890", "Bob")
+ assert_dom_equal(
+ %{Bob},
+ phone_to("1234567890", "Bob", "class" => "phoner")
+ )
+ assert_equal phone_to("1234567890", "Bob", "class" => "admin"),
+ phone_to("1234567890", "Bob", class: "admin")
+ end
+
+ def test_phone_to_with_options
+ assert_dom_equal(
+ %{Phone},
+ phone_to("1234567890", "Phone", class: "example-class", country_code: "01")
+ )
+
+ assert_dom_equal(
+ %{Phone},
+ phone_to("1234567890", "Phone", country_code: "01")
+ )
+ end
+
+ def test_phone_with_img
+ assert_dom_equal %{
},
+ phone_to("1234567890", raw('
'))
+ end
+
+ def test_phone_with_html_safe_string
+ assert_dom_equal(
+ %{1+234567890},
+ phone_to(raw("1+234567890"))
+ )
+ end
+
+ def test_phone_with_nil
+ assert_dom_equal(
+ %{},
+ phone_to(nil)
+ )
+ end
+
+ def test_phone_returns_html_safe_string
+ assert_predicate phone_to("1234567890"), :html_safe?
+ end
+
+ def test_phone_with_block
+ assert_dom_equal %{Phone},
+ phone_to("1234567890") { content_tag(:span, "Phone") }
+ end
+
+ def test_phone_with_block_and_options
+ assert_dom_equal %{Phone},
+ phone_to("1234567890", country_code: "01", class: "special") { content_tag(:span, "Phone") }
+ end
+
+ def test_phone_does_not_modify_html_options_hash
+ options = { class: "special" }
+ phone_to "1234567890", "ME!", options
+ assert_equal({ class: "special" }, options)
+ end
+
def protect_against_forgery?
request_forgery
end
--
cgit v1.2.3