aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-01-24 05:57:40 +0900
committerRyuta Kamizono <kamipo@gmail.com>2018-01-24 06:01:25 +0900
commit6003dafc1f844275d6a7fe9e626eaeb1176c8e8a (patch)
treec088b49f15381d527e59b998f3f44206957c363d /actionmailer/test
parentd25c2e7c4c88440154087a08fa79ba0bf3038ba3 (diff)
parentfbb2fc8aa7d17fd86ad9c3fbbe60ef84a4cde950 (diff)
downloadrails-6003dafc1f844275d6a7fe9e626eaeb1176c8e8a.tar.gz
rails-6003dafc1f844275d6a7fe9e626eaeb1176c8e8a.tar.bz2
rails-6003dafc1f844275d6a7fe9e626eaeb1176c8e8a.zip
Merge pull request #30391 from jbourassa/fix-actionmailer-lambda-default
Fix actionmailer lambda default
Diffstat (limited to 'actionmailer/test')
-rw-r--r--actionmailer/test/base_test.rb9
-rw-r--r--actionmailer/test/mailers/proc_mailer.rb9
2 files changed, 17 insertions, 1 deletions
diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb
index 977e0e201e..ac90809518 100644
--- a/actionmailer/test/base_test.rb
+++ b/actionmailer/test/base_test.rb
@@ -725,6 +725,15 @@ class BaseTest < ActiveSupport::TestCase
assert(ProcMailer.welcome["x-has-to-proc"].to_s == "symbol")
end
+ test "proc default values can have arity of 1 where arg is a mailer instance" do
+ assert_equal(ProcMailer.welcome["X-Lambda-Arity-1-arg"].to_s, "complex_value")
+ assert_equal(ProcMailer.welcome["X-Lambda-Arity-1-self"].to_s, "complex_value")
+ end
+
+ test "proc default values with fixed arity of 0 can be called" do
+ assert_equal("0", ProcMailer.welcome["X-Lambda-Arity-0"].to_s)
+ end
+
test "we can call other defined methods on the class as needed" do
mail = ProcMailer.welcome
assert_equal("Thanks for signing up this afternoon", mail.subject)
diff --git a/actionmailer/test/mailers/proc_mailer.rb b/actionmailer/test/mailers/proc_mailer.rb
index b7cf53eb4a..76e730bb79 100644
--- a/actionmailer/test/mailers/proc_mailer.rb
+++ b/actionmailer/test/mailers/proc_mailer.rb
@@ -4,12 +4,19 @@ class ProcMailer < ActionMailer::Base
default to: "system@test.lindsaar.net",
"X-Proc-Method" => Proc.new { Time.now.to_i.to_s },
subject: Proc.new { give_a_greeting },
- "x-has-to-proc" => :symbol
+ "x-has-to-proc" => :symbol,
+ "X-Lambda-Arity-0" => ->() { "0" },
+ "X-Lambda-Arity-1-arg" => ->(arg) { arg.computed_value },
+ "X-Lambda-Arity-1-self" => ->(_) { self.computed_value }
def welcome
mail
end
+ def computed_value
+ "complex_value"
+ end
+
private
def give_a_greeting