actionmailer_csi 2.3.5.p6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +370 -0
- data/MIT-LICENSE +21 -0
- data/README +149 -0
- data/Rakefile +99 -0
- data/install.rb +30 -0
- data/lib/action_mailer/adv_attr_accessor.rb +30 -0
- data/lib/action_mailer/base.rb +706 -0
- data/lib/action_mailer/helpers.rb +113 -0
- data/lib/action_mailer/mail_helper.rb +17 -0
- data/lib/action_mailer/part.rb +107 -0
- data/lib/action_mailer/part_container.rb +55 -0
- data/lib/action_mailer/quoting.rb +61 -0
- data/lib/action_mailer/test_case.rb +64 -0
- data/lib/action_mailer/test_helper.rb +68 -0
- data/lib/action_mailer/utils.rb +7 -0
- data/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb +1466 -0
- data/lib/action_mailer/vendor/text_format.rb +10 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb +426 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb +46 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb +46 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb +41 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb +67 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb +63 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb +581 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb +960 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb +9 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb +1130 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb +3 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb +578 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb +495 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb +6 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb +3 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb +248 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb +132 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb +1478 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb +379 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb +118 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb +58 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb +49 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb +261 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb +280 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb +337 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb +39 -0
- data/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb +5 -0
- data/lib/action_mailer/vendor/tmail.rb +17 -0
- data/lib/action_mailer/version.rb +9 -0
- data/lib/action_mailer.rb +62 -0
- data/lib/actionmailer.rb +2 -0
- data/test/abstract_unit.rb +62 -0
- data/test/asset_host_test.rb +54 -0
- data/test/delivery_method_test.rb +51 -0
- data/test/fixtures/asset_host_mailer/email_with_asset.html.erb +1 -0
- data/test/fixtures/auto_layout_mailer/hello.html.erb +1 -0
- data/test/fixtures/auto_layout_mailer/multipart.text.html.erb +1 -0
- data/test/fixtures/auto_layout_mailer/multipart.text.plain.erb +1 -0
- data/test/fixtures/explicit_layout_mailer/logout.html.erb +1 -0
- data/test/fixtures/explicit_layout_mailer/signup.html.erb +1 -0
- data/test/fixtures/first_mailer/share.erb +1 -0
- data/test/fixtures/helper_mailer/use_example_helper.erb +1 -0
- data/test/fixtures/helper_mailer/use_helper.erb +1 -0
- data/test/fixtures/helper_mailer/use_helper_method.erb +1 -0
- data/test/fixtures/helper_mailer/use_mail_helper.erb +5 -0
- data/test/fixtures/helpers/example_helper.rb +5 -0
- data/test/fixtures/layouts/auto_layout_mailer.html.erb +1 -0
- data/test/fixtures/layouts/auto_layout_mailer.text.erb +1 -0
- data/test/fixtures/layouts/spam.html.erb +1 -0
- data/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +1 -0
- data/test/fixtures/raw_email +14 -0
- data/test/fixtures/raw_email10 +20 -0
- data/test/fixtures/raw_email12 +32 -0
- data/test/fixtures/raw_email13 +29 -0
- data/test/fixtures/raw_email2 +114 -0
- data/test/fixtures/raw_email3 +70 -0
- data/test/fixtures/raw_email4 +59 -0
- data/test/fixtures/raw_email5 +19 -0
- data/test/fixtures/raw_email6 +20 -0
- data/test/fixtures/raw_email7 +66 -0
- data/test/fixtures/raw_email8 +47 -0
- data/test/fixtures/raw_email9 +28 -0
- data/test/fixtures/raw_email_quoted_with_0d0a +14 -0
- data/test/fixtures/raw_email_with_invalid_characters_in_content_type +104 -0
- data/test/fixtures/raw_email_with_nested_attachment +100 -0
- data/test/fixtures/raw_email_with_partially_quoted_subject +14 -0
- data/test/fixtures/second_mailer/share.erb +1 -0
- data/test/fixtures/templates/signed_up.erb +3 -0
- data/test/fixtures/test_mailer/_subtemplate.text.plain.erb +1 -0
- data/test/fixtures/test_mailer/body_ivar.erb +2 -0
- data/test/fixtures/test_mailer/custom_templating_extension.text.html.haml +6 -0
- data/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml +6 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +1 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak +1 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +10 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb~ +10 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +2 -0
- data/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +1 -0
- data/test/fixtures/test_mailer/included_subtemplate.text.plain.erb +1 -0
- data/test/fixtures/test_mailer/rxml_template.builder +2 -0
- data/test/fixtures/test_mailer/rxml_template.rxml +2 -0
- data/test/fixtures/test_mailer/signed_up.html.erb +3 -0
- data/test/fixtures/test_mailer/signed_up_with_url.erb +5 -0
- data/test/mail_helper_test.rb +95 -0
- data/test/mail_layout_test.rb +123 -0
- data/test/mail_render_test.rb +116 -0
- data/test/mail_service_test.rb +1081 -0
- data/test/quoting_test.rb +99 -0
- data/test/test_helper_test.rb +129 -0
- data/test/tmail_test.rb +22 -0
- data/test/url_test.rb +76 -0
- metadata +195 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
require 'abstract_unit'
|
|
3
|
+
require 'tempfile'
|
|
4
|
+
|
|
5
|
+
class QuotingTest < Test::Unit::TestCase
|
|
6
|
+
# Move some tests from TMAIL here
|
|
7
|
+
def test_unquote_quoted_printable
|
|
8
|
+
a ="=?ISO-8859-1?Q?[166417]_Bekr=E6ftelse_fra_Rejsefeber?="
|
|
9
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
|
10
|
+
assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_unquote_base64
|
|
14
|
+
a ="=?ISO-8859-1?B?WzE2NjQxN10gQmVrcuZmdGVsc2UgZnJhIFJlanNlZmViZXI=?="
|
|
15
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
|
16
|
+
assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_unquote_without_charset
|
|
20
|
+
a ="[166417]_Bekr=E6ftelse_fra_Rejsefeber"
|
|
21
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
|
22
|
+
assert_equal "[166417]_Bekr=E6ftelse_fra_Rejsefeber", b
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_unqoute_multiple
|
|
26
|
+
a ="=?utf-8?q?Re=3A_=5B12=5D_=23137=3A_Inkonsistente_verwendung_von_=22Hin?==?utf-8?b?enVmw7xnZW4i?="
|
|
27
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
|
28
|
+
assert_equal "Re: [12] #137: Inkonsistente verwendung von \"Hinzuf\303\274gen\"", b
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_unqoute_in_the_middle
|
|
32
|
+
a ="Re: Photos =?ISO-8859-1?Q?Brosch=FCre_Rand?="
|
|
33
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
|
34
|
+
assert_equal "Re: Photos Brosch\303\274re Rand", b
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_unqoute_iso
|
|
38
|
+
a ="=?ISO-8859-1?Q?Brosch=FCre_Rand?="
|
|
39
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'iso-8859-1')
|
|
40
|
+
expected = "Brosch\374re Rand"
|
|
41
|
+
expected.force_encoding 'iso-8859-1' if expected.respond_to?(:force_encoding)
|
|
42
|
+
assert_equal expected, b
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_quote_multibyte_chars
|
|
46
|
+
original = "\303\246 \303\270 and \303\245"
|
|
47
|
+
original.force_encoding('ASCII-8BIT') if original.respond_to?(:force_encoding)
|
|
48
|
+
|
|
49
|
+
result = execute_in_sandbox(<<-CODE)
|
|
50
|
+
$:.unshift(File.dirname(__FILE__) + "/../lib/")
|
|
51
|
+
if RUBY_VERSION < '1.9'
|
|
52
|
+
$KCODE = 'u'
|
|
53
|
+
require 'jcode'
|
|
54
|
+
end
|
|
55
|
+
require 'action_mailer/quoting'
|
|
56
|
+
include ActionMailer::Quoting
|
|
57
|
+
quoted_printable(#{original.inspect}, "UTF-8")
|
|
58
|
+
CODE
|
|
59
|
+
|
|
60
|
+
unquoted = TMail::Unquoter.unquote_and_convert_to(result, nil)
|
|
61
|
+
assert_equal unquoted, original
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
# test an email that has been created using \r\n newlines, instead of
|
|
66
|
+
# \n newlines.
|
|
67
|
+
def test_email_quoted_with_0d0a
|
|
68
|
+
mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_quoted_with_0d0a"))
|
|
69
|
+
assert_match %r{Elapsed time}, mail.body
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_email_with_partially_quoted_subject
|
|
73
|
+
mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_partially_quoted_subject"))
|
|
74
|
+
assert_equal "Re: Test: \"\346\274\242\345\255\227\" mid \"\346\274\242\345\255\227\" tail", mail.subject
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private
|
|
78
|
+
# This whole thing *could* be much simpler, but I don't think Tempfile,
|
|
79
|
+
# popen and others exist on all platforms (like Windows).
|
|
80
|
+
def execute_in_sandbox(code)
|
|
81
|
+
test_name = "#{File.dirname(__FILE__)}/am-quoting-test.#{$$}.rb"
|
|
82
|
+
res_name = "#{File.dirname(__FILE__)}/am-quoting-test.#{$$}.out"
|
|
83
|
+
|
|
84
|
+
File.open(test_name, "w+") do |file|
|
|
85
|
+
file.write(<<-CODE)
|
|
86
|
+
block = Proc.new do
|
|
87
|
+
#{code}
|
|
88
|
+
end
|
|
89
|
+
puts block.call
|
|
90
|
+
CODE
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
system("ruby #{test_name} > #{res_name}") or raise "could not run test in sandbox"
|
|
94
|
+
File.read(res_name).chomp
|
|
95
|
+
ensure
|
|
96
|
+
File.delete(test_name) rescue nil
|
|
97
|
+
File.delete(res_name) rescue nil
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
require 'abstract_unit'
|
|
2
|
+
|
|
3
|
+
class TestHelperMailer < ActionMailer::Base
|
|
4
|
+
def test
|
|
5
|
+
recipients "test@example.com"
|
|
6
|
+
from "tester@example.com"
|
|
7
|
+
body render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" })
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class TestHelperMailerTest < ActionMailer::TestCase
|
|
12
|
+
def test_setup_sets_right_action_mailer_options
|
|
13
|
+
assert_equal :test, ActionMailer::Base.delivery_method
|
|
14
|
+
assert ActionMailer::Base.perform_deliveries
|
|
15
|
+
assert_equal [], ActionMailer::Base.deliveries
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_setup_creates_the_expected_mailer
|
|
19
|
+
assert @expected.is_a?(TMail::Mail)
|
|
20
|
+
assert_equal "1.0", @expected.mime_version
|
|
21
|
+
assert_equal "text/plain", @expected.content_type
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_mailer_class_is_correctly_inferred
|
|
25
|
+
assert_equal TestHelperMailer, self.class.mailer_class
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_determine_default_mailer_raises_correct_error
|
|
29
|
+
assert_raise(ActionMailer::NonInferrableMailerError) do
|
|
30
|
+
self.class.determine_default_mailer("NotAMailerTest")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_charset_is_utf_8
|
|
35
|
+
assert_equal "utf-8", charset
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_encode
|
|
39
|
+
assert_equal "=?utf-8?Q?=0Aasdf=0A?=", encode("\nasdf\n")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_assert_emails
|
|
43
|
+
assert_nothing_raised do
|
|
44
|
+
assert_emails 1 do
|
|
45
|
+
TestHelperMailer.deliver_test
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def test_repeated_assert_emails_calls
|
|
51
|
+
assert_nothing_raised do
|
|
52
|
+
assert_emails 1 do
|
|
53
|
+
TestHelperMailer.deliver_test
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
assert_nothing_raised do
|
|
58
|
+
assert_emails 2 do
|
|
59
|
+
TestHelperMailer.deliver_test
|
|
60
|
+
TestHelperMailer.deliver_test
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_assert_emails_with_no_block
|
|
66
|
+
assert_nothing_raised do
|
|
67
|
+
TestHelperMailer.deliver_test
|
|
68
|
+
assert_emails 1
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
assert_nothing_raised do
|
|
72
|
+
TestHelperMailer.deliver_test
|
|
73
|
+
TestHelperMailer.deliver_test
|
|
74
|
+
assert_emails 3
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_assert_no_emails
|
|
79
|
+
assert_nothing_raised do
|
|
80
|
+
assert_no_emails do
|
|
81
|
+
TestHelperMailer.create_test
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_assert_emails_too_few_sent
|
|
87
|
+
error = assert_raise ActiveSupport::TestCase::Assertion do
|
|
88
|
+
assert_emails 2 do
|
|
89
|
+
TestHelperMailer.deliver_test
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
assert_match /2 .* but 1/, error.message
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_assert_emails_too_many_sent
|
|
97
|
+
error = assert_raise ActiveSupport::TestCase::Assertion do
|
|
98
|
+
assert_emails 1 do
|
|
99
|
+
TestHelperMailer.deliver_test
|
|
100
|
+
TestHelperMailer.deliver_test
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
assert_match /1 .* but 2/, error.message
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def test_assert_no_emails_failure
|
|
108
|
+
error = assert_raise ActiveSupport::TestCase::Assertion do
|
|
109
|
+
assert_no_emails do
|
|
110
|
+
TestHelperMailer.deliver_test
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
assert_match /0 .* but 1/, error.message
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
class AnotherTestHelperMailerTest < ActionMailer::TestCase
|
|
119
|
+
tests TestHelperMailer
|
|
120
|
+
|
|
121
|
+
def setup
|
|
122
|
+
@test_var = "a value"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def test_setup_shouldnt_conflict_with_mailer_setup
|
|
126
|
+
assert @expected.is_a?(TMail::Mail)
|
|
127
|
+
assert_equal 'a value', @test_var
|
|
128
|
+
end
|
|
129
|
+
end
|
data/test/tmail_test.rb
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'abstract_unit'
|
|
2
|
+
|
|
3
|
+
class TMailMailTest < Test::Unit::TestCase
|
|
4
|
+
def test_body
|
|
5
|
+
m = TMail::Mail.new
|
|
6
|
+
expected = 'something_with_underscores'
|
|
7
|
+
m.encoding = 'quoted-printable'
|
|
8
|
+
quoted_body = [expected].pack('*M')
|
|
9
|
+
m.body = quoted_body
|
|
10
|
+
assert_equal "something_with_underscores=\n", m.quoted_body
|
|
11
|
+
assert_equal expected, m.body
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_nested_attachments_are_recognized_correctly
|
|
15
|
+
fixture = File.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_nested_attachment")
|
|
16
|
+
mail = TMail::Mail.parse(fixture)
|
|
17
|
+
assert_equal 2, mail.attachments.length
|
|
18
|
+
assert_equal "image/png", mail.attachments.first.content_type
|
|
19
|
+
assert_equal 1902, mail.attachments.first.length
|
|
20
|
+
assert_equal "application/pkcs7-signature", mail.attachments.last.content_type
|
|
21
|
+
end
|
|
22
|
+
end
|
data/test/url_test.rb
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
require 'abstract_unit'
|
|
2
|
+
|
|
3
|
+
class TestMailer < ActionMailer::Base
|
|
4
|
+
|
|
5
|
+
default_url_options[:host] = 'www.basecamphq.com'
|
|
6
|
+
|
|
7
|
+
def signed_up_with_url(recipient)
|
|
8
|
+
@recipients = recipient
|
|
9
|
+
@subject = "[Signed up] Welcome #{recipient}"
|
|
10
|
+
@from = "system@loudthinking.com"
|
|
11
|
+
@sent_on = Time.local(2004, 12, 12)
|
|
12
|
+
|
|
13
|
+
@body["recipient"] = recipient
|
|
14
|
+
@body["welcome_url"] = url_for :host => "example.com", :controller => "welcome", :action => "greeting"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class <<self
|
|
18
|
+
attr_accessor :received_body
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def receive(mail)
|
|
22
|
+
self.class.received_body = mail.body
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class ActionMailerUrlTest < Test::Unit::TestCase
|
|
27
|
+
include ActionMailer::Quoting
|
|
28
|
+
|
|
29
|
+
def encode( text, charset="utf-8" )
|
|
30
|
+
quoted_printable( text, charset )
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def new_mail( charset="utf-8" )
|
|
34
|
+
mail = TMail::Mail.new
|
|
35
|
+
mail.mime_version = "1.0"
|
|
36
|
+
if charset
|
|
37
|
+
mail.set_content_type "text", "plain", { "charset" => charset }
|
|
38
|
+
end
|
|
39
|
+
mail
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def setup
|
|
43
|
+
set_delivery_method :test
|
|
44
|
+
ActionMailer::Base.perform_deliveries = true
|
|
45
|
+
ActionMailer::Base.deliveries = []
|
|
46
|
+
|
|
47
|
+
@recipient = 'test@localhost'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def teardown
|
|
51
|
+
restore_delivery_method
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_signed_up_with_url
|
|
55
|
+
ActionController::Routing::Routes.draw do |map|
|
|
56
|
+
map.connect ':controller/:action/:id'
|
|
57
|
+
map.welcome 'welcome', :controller=>"foo", :action=>"bar"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
expected = new_mail
|
|
61
|
+
expected.to = @recipient
|
|
62
|
+
expected.subject = "[Signed up] Welcome #{@recipient}"
|
|
63
|
+
expected.body = "Hello there, \n\nMr. #{@recipient}. Please see our greeting at http://example.com/welcome/greeting http://www.basecamphq.com/welcome\n\n<img alt=\"Somelogo\" src=\"/images/somelogo.png\" />"
|
|
64
|
+
expected.from = "system@loudthinking.com"
|
|
65
|
+
expected.date = Time.local(2004, 12, 12)
|
|
66
|
+
|
|
67
|
+
created = nil
|
|
68
|
+
assert_nothing_raised { created = TestMailer.create_signed_up_with_url(@recipient) }
|
|
69
|
+
assert_not_nil created
|
|
70
|
+
assert_equal expected.encoded, created.encoded
|
|
71
|
+
|
|
72
|
+
assert_nothing_raised { TestMailer.deliver_signed_up_with_url(@recipient) }
|
|
73
|
+
assert_not_nil ActionMailer::Base.deliveries.first
|
|
74
|
+
assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
|
|
75
|
+
end
|
|
76
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: actionmailer_csi
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: -2121639192
|
|
5
|
+
prerelease: 6
|
|
6
|
+
segments:
|
|
7
|
+
- 2
|
|
8
|
+
- 3
|
|
9
|
+
- 5
|
|
10
|
+
- p
|
|
11
|
+
- 6
|
|
12
|
+
version: 2.3.5.p6
|
|
13
|
+
platform: ruby
|
|
14
|
+
authors:
|
|
15
|
+
- David Heinemeier Hansson
|
|
16
|
+
autorequire: action_mailer
|
|
17
|
+
bindir: bin
|
|
18
|
+
cert_chain: []
|
|
19
|
+
|
|
20
|
+
date: 2013-01-30 00:00:00 -04:00
|
|
21
|
+
default_executable:
|
|
22
|
+
dependencies:
|
|
23
|
+
- !ruby/object:Gem::Dependency
|
|
24
|
+
name: actionpack
|
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
26
|
+
none: false
|
|
27
|
+
requirements:
|
|
28
|
+
- - "="
|
|
29
|
+
- !ruby/object:Gem::Version
|
|
30
|
+
hash: -2121639192
|
|
31
|
+
segments:
|
|
32
|
+
- 2
|
|
33
|
+
- 3
|
|
34
|
+
- 5
|
|
35
|
+
- p
|
|
36
|
+
- 6
|
|
37
|
+
version: 2.3.5.p6
|
|
38
|
+
prerelease: false
|
|
39
|
+
type: :runtime
|
|
40
|
+
requirement: *id001
|
|
41
|
+
description: Makes it trivial to test and deliver emails sent from a single service layer.
|
|
42
|
+
email: david@loudthinking.com
|
|
43
|
+
executables: []
|
|
44
|
+
|
|
45
|
+
extensions: []
|
|
46
|
+
|
|
47
|
+
extra_rdoc_files: []
|
|
48
|
+
|
|
49
|
+
files:
|
|
50
|
+
- Rakefile
|
|
51
|
+
- install.rb
|
|
52
|
+
- README
|
|
53
|
+
- CHANGELOG
|
|
54
|
+
- MIT-LICENSE
|
|
55
|
+
- lib/action_mailer.rb
|
|
56
|
+
- lib/actionmailer.rb
|
|
57
|
+
- lib/action_mailer/mail_helper.rb
|
|
58
|
+
- lib/action_mailer/base.rb
|
|
59
|
+
- lib/action_mailer/version.rb
|
|
60
|
+
- lib/action_mailer/part.rb
|
|
61
|
+
- lib/action_mailer/test_case.rb
|
|
62
|
+
- lib/action_mailer/test_helper.rb
|
|
63
|
+
- lib/action_mailer/helpers.rb
|
|
64
|
+
- lib/action_mailer/part_container.rb
|
|
65
|
+
- lib/action_mailer/utils.rb
|
|
66
|
+
- lib/action_mailer/adv_attr_accessor.rb
|
|
67
|
+
- lib/action_mailer/vendor/text-format-0.6.3/text/format.rb
|
|
68
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb
|
|
69
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb
|
|
70
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb
|
|
71
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb
|
|
72
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb
|
|
73
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb
|
|
74
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb
|
|
75
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb
|
|
76
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb
|
|
77
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb
|
|
78
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb
|
|
79
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb
|
|
80
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb
|
|
81
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb
|
|
82
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb
|
|
83
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
|
|
84
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb
|
|
85
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb
|
|
86
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb
|
|
87
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb
|
|
88
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb
|
|
89
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb
|
|
90
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb
|
|
91
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb
|
|
92
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb
|
|
93
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb
|
|
94
|
+
- lib/action_mailer/vendor/tmail-1.2.3/tmail.rb
|
|
95
|
+
- lib/action_mailer/vendor/text_format.rb
|
|
96
|
+
- lib/action_mailer/vendor/tmail.rb
|
|
97
|
+
- lib/action_mailer/quoting.rb
|
|
98
|
+
- test/asset_host_test.rb
|
|
99
|
+
- test/test_helper_test.rb
|
|
100
|
+
- test/mail_helper_test.rb
|
|
101
|
+
- test/abstract_unit.rb
|
|
102
|
+
- test/url_test.rb
|
|
103
|
+
- test/delivery_method_test.rb
|
|
104
|
+
- test/mail_render_test.rb
|
|
105
|
+
- test/quoting_test.rb
|
|
106
|
+
- test/mail_service_test.rb
|
|
107
|
+
- test/mail_layout_test.rb
|
|
108
|
+
- test/fixtures/raw_email4
|
|
109
|
+
- test/fixtures/raw_email8
|
|
110
|
+
- test/fixtures/raw_email_quoted_with_0d0a
|
|
111
|
+
- test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb
|
|
112
|
+
- test/fixtures/second_mailer/share.erb
|
|
113
|
+
- test/fixtures/raw_email7
|
|
114
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb
|
|
115
|
+
- test/fixtures/test_mailer/included_subtemplate.text.plain.erb
|
|
116
|
+
- test/fixtures/test_mailer/custom_templating_extension.text.plain.haml
|
|
117
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb~
|
|
118
|
+
- test/fixtures/test_mailer/signed_up.html.erb
|
|
119
|
+
- test/fixtures/test_mailer/signed_up_with_url.erb
|
|
120
|
+
- test/fixtures/test_mailer/custom_templating_extension.text.html.haml
|
|
121
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak
|
|
122
|
+
- test/fixtures/test_mailer/body_ivar.erb
|
|
123
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb
|
|
124
|
+
- test/fixtures/test_mailer/_subtemplate.text.plain.erb
|
|
125
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb
|
|
126
|
+
- test/fixtures/test_mailer/rxml_template.rxml
|
|
127
|
+
- test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb
|
|
128
|
+
- test/fixtures/test_mailer/rxml_template.builder
|
|
129
|
+
- test/fixtures/helpers/example_helper.rb
|
|
130
|
+
- test/fixtures/raw_email_with_partially_quoted_subject
|
|
131
|
+
- test/fixtures/raw_email9
|
|
132
|
+
- test/fixtures/raw_email
|
|
133
|
+
- test/fixtures/asset_host_mailer/email_with_asset.html.erb
|
|
134
|
+
- test/fixtures/raw_email5
|
|
135
|
+
- test/fixtures/auto_layout_mailer/hello.html.erb
|
|
136
|
+
- test/fixtures/auto_layout_mailer/multipart.text.html.erb
|
|
137
|
+
- test/fixtures/auto_layout_mailer/multipart.text.plain.erb
|
|
138
|
+
- test/fixtures/raw_email13
|
|
139
|
+
- test/fixtures/layouts/spam.html.erb
|
|
140
|
+
- test/fixtures/layouts/auto_layout_mailer.html.erb
|
|
141
|
+
- test/fixtures/layouts/auto_layout_mailer.text.erb
|
|
142
|
+
- test/fixtures/raw_email6
|
|
143
|
+
- test/fixtures/raw_email12
|
|
144
|
+
- test/fixtures/raw_email_with_invalid_characters_in_content_type
|
|
145
|
+
- test/fixtures/helper_mailer/use_helper.erb
|
|
146
|
+
- test/fixtures/helper_mailer/use_mail_helper.erb
|
|
147
|
+
- test/fixtures/helper_mailer/use_helper_method.erb
|
|
148
|
+
- test/fixtures/helper_mailer/use_example_helper.erb
|
|
149
|
+
- test/fixtures/explicit_layout_mailer/signup.html.erb
|
|
150
|
+
- test/fixtures/explicit_layout_mailer/logout.html.erb
|
|
151
|
+
- test/fixtures/raw_email3
|
|
152
|
+
- test/fixtures/raw_email10
|
|
153
|
+
- test/fixtures/first_mailer/share.erb
|
|
154
|
+
- test/fixtures/raw_email_with_nested_attachment
|
|
155
|
+
- test/fixtures/raw_email2
|
|
156
|
+
- test/fixtures/templates/signed_up.erb
|
|
157
|
+
- test/tmail_test.rb
|
|
158
|
+
has_rdoc: true
|
|
159
|
+
homepage: http://www.rubyonrails.org
|
|
160
|
+
licenses: []
|
|
161
|
+
|
|
162
|
+
post_install_message:
|
|
163
|
+
rdoc_options: []
|
|
164
|
+
|
|
165
|
+
require_paths:
|
|
166
|
+
- lib
|
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
|
+
none: false
|
|
169
|
+
requirements:
|
|
170
|
+
- - ">="
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
hash: 3
|
|
173
|
+
segments:
|
|
174
|
+
- 0
|
|
175
|
+
version: "0"
|
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
|
+
none: false
|
|
178
|
+
requirements:
|
|
179
|
+
- - ">"
|
|
180
|
+
- !ruby/object:Gem::Version
|
|
181
|
+
hash: 25
|
|
182
|
+
segments:
|
|
183
|
+
- 1
|
|
184
|
+
- 3
|
|
185
|
+
- 1
|
|
186
|
+
version: 1.3.1
|
|
187
|
+
requirements:
|
|
188
|
+
- none
|
|
189
|
+
rubyforge_project: actionmailer
|
|
190
|
+
rubygems_version: 1.5.3
|
|
191
|
+
signing_key:
|
|
192
|
+
specification_version: 3
|
|
193
|
+
summary: Service layer for easy email delivery and testing.
|
|
194
|
+
test_files: []
|
|
195
|
+
|