aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/rails-2.0.2/actionmailer/test
diff options
context:
space:
mode:
authorfrancis <francis>2008-01-23 01:48:14 +0000
committerfrancis <francis>2008-01-23 01:48:14 +0000
commit60eaae4f7df1f1dae91defb87d3707451c359cf4 (patch)
treee74835c37779a2f094e810960cda07b99a75330e /vendor/rails-2.0.2/actionmailer/test
parent71d22c740302e1f83bbbd89b229734ea9c67493c (diff)
Freeze in rails 2.0.2 (Am I going to regret having this beast in CVS?)
Diffstat (limited to 'vendor/rails-2.0.2/actionmailer/test')
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/abstract_unit.rb49
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/delivery_method_test.rb51
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb5
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/helpers/example_helper.rb5
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_decoded_stringbin0 -> 8576 bytes
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_encoded_string1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email14
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email1020
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email1232
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email1329
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email2114
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email370
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email459
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email519
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email620
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email766
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email847
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email928
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_quoted_with_0d0a14
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type104
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_nested_attachment100
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject14
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.erb3
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml6
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml6
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb10
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb2
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb1
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.builder2
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.rxml2
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.erb3
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb5
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml0
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/mail_helper_test.rb95
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/mail_render_test.rb122
-rwxr-xr-xvendor/rails-2.0.2/actionmailer/test/mail_service_test.rb939
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/quoting_test.rb111
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/test_helper_test.rb117
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/tmail_test.rb22
-rw-r--r--vendor/rails-2.0.2/actionmailer/test/url_test.rb76
64 files changed, 2393 insertions, 0 deletions
diff --git a/vendor/rails-2.0.2/actionmailer/test/abstract_unit.rb b/vendor/rails-2.0.2/actionmailer/test/abstract_unit.rb
new file mode 100644
index 000000000..9b7a4661b
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/abstract_unit.rb
@@ -0,0 +1,49 @@
+require 'test/unit'
+
+$:.unshift "#{File.dirname(__FILE__)}/../lib"
+require 'action_mailer'
+require 'action_mailer/test_case'
+
+# Show backtraces for deprecated behavior for quicker cleanup.
+ActiveSupport::Deprecation.debug = true
+
+$:.unshift "#{File.dirname(__FILE__)}/fixtures/helpers"
+ActionMailer::Base.template_root = "#{File.dirname(__FILE__)}/fixtures"
+
+class MockSMTP
+ def self.deliveries
+ @@deliveries
+ end
+
+ def initialize
+ @@deliveries = []
+ end
+
+ def sendmail(mail, from, to)
+ @@deliveries << [mail, from, to]
+ end
+end
+
+class Net::SMTP
+ def self.start(*args)
+ yield MockSMTP.new
+ end
+end
+
+# Wrap tests that use Mocha and skip if unavailable.
+def uses_mocha(test_name)
+ gem 'mocha', ">=0.5"
+ require 'stubba'
+ yield
+rescue Gem::LoadError
+ $stderr.puts "Skipping #{test_name} tests (Mocha >= 0.5 is required). `gem install mocha` and try again."
+end
+
+def set_delivery_method(delivery_method)
+ @old_delivery_method = ActionMailer::Base.delivery_method
+ ActionMailer::Base.delivery_method = delivery_method
+end
+
+def restore_delivery_method
+ ActionMailer::Base.delivery_method = @old_delivery_method
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/delivery_method_test.rb b/vendor/rails-2.0.2/actionmailer/test/delivery_method_test.rb
new file mode 100644
index 000000000..ebee23560
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/delivery_method_test.rb
@@ -0,0 +1,51 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+class DefaultDeliveryMethodMailer < ActionMailer::Base
+end
+
+class NonDefaultDeliveryMethodMailer < ActionMailer::Base
+ self.delivery_method = :sendmail
+end
+
+class ActionMailerBase_delivery_method_Test < Test::Unit::TestCase
+ def setup
+ set_delivery_method :smtp
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_should_be_the_default_smtp
+ assert_equal :smtp, ActionMailer::Base.delivery_method
+ end
+end
+
+class DefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
+ def setup
+ set_delivery_method :smtp
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_should_be_the_default_smtp
+ assert_equal :smtp, DefaultDeliveryMethodMailer.delivery_method
+ end
+end
+
+class NonDefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
+ def setup
+ set_delivery_method :smtp
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_should_be_the_set_delivery_method
+ assert_equal :sendmail, NonDefaultDeliveryMethodMailer.delivery_method
+ end
+end
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.erb
new file mode 100644
index 000000000..da43638ce
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.erb
@@ -0,0 +1 @@
+first mail
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/first_mailer/share.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb
new file mode 100644
index 000000000..fcff3bb1b
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb
@@ -0,0 +1 @@
+So, <%= example_format(@text) %>
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.erb
new file mode 100644
index 000000000..378777f8b
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.erb
@@ -0,0 +1 @@
+Hello, <%= person_name %>. Thanks for registering!
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb
new file mode 100644
index 000000000..d5b8b285e
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb
@@ -0,0 +1 @@
+This message brought to you by <%= name_of_the_mailer_class %>.
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb
new file mode 100644
index 000000000..96ec49d18
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb
@@ -0,0 +1,5 @@
+From "Romeo and Juliet":
+
+<%= block_format @text %>
+
+Good ol' Shakespeare.
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/helpers/example_helper.rb b/vendor/rails-2.0.2/actionmailer/test/fixtures/helpers/example_helper.rb
new file mode 100644
index 000000000..d66927aa6
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/helpers/example_helper.rb
@@ -0,0 +1,5 @@
+module ExampleHelper
+ def example_format(text)
+ "<em><strong><small>#{text}</small></strong></em>"
+ end
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb
new file mode 100644
index 000000000..897a5065c
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb
@@ -0,0 +1 @@
+Have a lovely picture, from me. Enjoy! \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_decoded_string b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_decoded_string
new file mode 100644
index 000000000..99b00ea16
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_decoded_string
Binary files differ
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_encoded_string b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_encoded_string
new file mode 100644
index 000000000..eacca525a
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_encoded_string
@@ -0,0 +1 @@
+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 \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email
new file mode 100644
index 000000000..43f7a59ce
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email
@@ -0,0 +1,14 @@
+From jamis_buck@byu.edu Mon May 2 16:07:05 2005
+Mime-Version: 1.0 (Apple Message framework v622)
+Content-Transfer-Encoding: base64
+Message-Id: <d3b8cf8e49f04480850c28713a1f473e@37signals.com>
+Content-Type: text/plain;
+ charset=EUC-KR;
+ format=flowed
+To: willard15georgina@jamis.backpackit.com
+From: Jamis Buck <jamis@37signals.com>
+Subject: =?EUC-KR?Q?NOTE:_=C7=D1=B1=B9=B8=BB=B7=CE_=C7=CF=B4=C2_=B0=CD?=
+Date: Mon, 2 May 2005 16:07:05 -0600
+
+tOu6zrrQwMcguLbC+bChwfa3ziwgv+y4rrTCIMfPs6q01MC7ILnPvcC0z7TZLg0KDQrBpiDAzLin
+wLogSmFtaXPA1LTPtNku
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email10 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email10
new file mode 100644
index 000000000..b1fc2b261
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email10
@@ -0,0 +1,20 @@
+Return-Path: <xxx@xxxx.xxx>
+Received: from xxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id C1B953B4CB6 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:05 -0500
+Received: from SMS-GTYxxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id ca for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:04 -0500
+Received: from xxx.xxxx.xxx by SMS-GTYxxx.xxxx.xxx with ESMTP id j4AKR3r23323 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:03 -0500
+Date: Tue, 10 May 2005 15:27:03 -0500
+From: xxx@xxxx.xxx
+Sender: xxx@xxxx.xxx
+To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Message-Id: <xxx@xxxx.xxx>
+X-Original-To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Delivered-To: xxx@xxxx.xxx
+Importance: normal
+Content-Type: text/plain; charset=X-UNKNOWN
+
+Test test. Hi. Waving. m
+
+----------------------------------------------------------------
+Sent via Bell Mobility's Text Messaging service.
+Envoyé par le service de messagerie texte de Bell Mobilité.
+----------------------------------------------------------------
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email12 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email12
new file mode 100644
index 000000000..2cd31720d
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email12
@@ -0,0 +1,32 @@
+Mime-Version: 1.0 (Apple Message framework v730)
+Content-Type: multipart/mixed; boundary=Apple-Mail-13-196941151
+Message-Id: <9169D984-4E0B-45EF-82D4-8F5E53AD7012@example.com>
+From: foo@example.com
+Subject: testing
+Date: Mon, 6 Jun 2005 22:21:22 +0200
+To: blah@example.com
+
+
+--Apple-Mail-13-196941151
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain;
+ charset=ISO-8859-1;
+ delsp=yes;
+ format=flowed
+
+This is the first part.
+
+--Apple-Mail-13-196941151
+Content-Type: image/jpeg
+Content-Transfer-Encoding: base64
+Content-Location: Photo25.jpg
+Content-ID: <qbFGyPQAS8>
+Content-Disposition: inline
+
+jamisSqGSIb3DQEHAqCAMIjamisxCzAJBgUrDgMCGgUAMIAGCSqGSjamisEHAQAAoIIFSjCCBUYw
+ggQujamisQICBD++ukQwDQYJKojamisNAQEFBQAwMTELMAkGA1UEBhMCRjamisAKBgNVBAoTA1RE
+QzEUMBIGjamisxMLVERDIE9DRVMgQ0jamisNMDQwMjI5MTE1OTAxWhcNMDYwMjamisIyOTAxWjCB
+gDELMAkGA1UEjamisEsxKTAnBgNVBAoTIEjamisuIG9yZ2FuaXNhdG9yaXNrIHRpbjamisRuaW5=
+
+--Apple-Mail-13-196941151--
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email13 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email13
new file mode 100644
index 000000000..7d9314e36
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email13
@@ -0,0 +1,29 @@
+Mime-Version: 1.0 (Apple Message framework v730)
+Content-Type: multipart/mixed; boundary=Apple-Mail-13-196941151
+Message-Id: <9169D984-4E0B-45EF-82D4-8F5E53AD7012@example.com>
+From: foo@example.com
+Subject: testing
+Date: Mon, 6 Jun 2005 22:21:22 +0200
+To: blah@example.com
+
+
+--Apple-Mail-13-196941151
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain;
+ charset=ISO-8859-1;
+ delsp=yes;
+ format=flowed
+
+This is the first part.
+
+--Apple-Mail-13-196941151
+Content-Type: text/x-ruby-script; name="hello.rb"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename="api.rb"
+
+puts "Hello, world!"
+gets
+
+--Apple-Mail-13-196941151--
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email2 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email2
new file mode 100644
index 000000000..3999fcc87
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email2
@@ -0,0 +1,114 @@
+From xxxxxxxxx.xxxxxxx@gmail.com Sun May 8 19:07:09 2005
+Return-Path: <xxxxxxxxx.xxxxxxx@gmail.com>
+X-Original-To: xxxxx@xxxxx.xxxxxxxxx.com
+Delivered-To: xxxxx@xxxxx.xxxxxxxxx.com
+Received: from localhost (localhost [127.0.0.1])
+ by xxxxx.xxxxxxxxx.com (Postfix) with ESMTP id 06C9DA98D
+ for <xxxxx@xxxxx.xxxxxxxxx.com>; Sun, 8 May 2005 19:09:13 +0000 (GMT)
+Received: from xxxxx.xxxxxxxxx.com ([127.0.0.1])
+ by localhost (xxxxx.xxxxxxxxx.com [127.0.0.1]) (amavisd-new, port 10024)
+ with LMTP id 88783-08 for <xxxxx@xxxxx.xxxxxxxxx.com>;
+ Sun, 8 May 2005 19:09:12 +0000 (GMT)
+Received: from xxxxxxx.xxxxxxxxx.com (xxxxxxx.xxxxxxxxx.com [69.36.39.150])
+ by xxxxx.xxxxxxxxx.com (Postfix) with ESMTP id 10D8BA960
+ for <xxxxx@xxxxxxxxx.org>; Sun, 8 May 2005 19:09:12 +0000 (GMT)
+Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.199])
+ by xxxxxxx.xxxxxxxxx.com (Postfix) with ESMTP id 9EBC4148EAB
+ for <xxxxx@xxxxxxxxx.com>; Sun, 8 May 2005 14:09:11 -0500 (CDT)
+Received: by zproxy.gmail.com with SMTP id 13so1233405nzp
+ for <xxxxx@xxxxxxxxx.com>; Sun, 08 May 2005 12:09:11 -0700 (PDT)
+DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
+ s=beta; d=gmail.com;
+ h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references;
+ b=cid1mzGEFa3gtRa06oSrrEYfKca2CTKu9sLMkWxjbvCsWMtp9RGEILjUz0L5RySdH5iO661LyNUoHRFQIa57bylAbXM3g2DTEIIKmuASDG3x3rIQ4sHAKpNxP7Pul+mgTaOKBv+spcH7af++QEJ36gHFXD2O/kx9RePs3JNf/K8=
+Received: by 10.36.10.16 with SMTP id 16mr1012493nzj;
+ Sun, 08 May 2005 12:09:11 -0700 (PDT)
+Received: by 10.36.5.10 with HTTP; Sun, 8 May 2005 12:09:11 -0700 (PDT)
+Message-ID: <e85734b90505081209eaaa17b@mail.gmail.com>
+Date: Sun, 8 May 2005 14:09:11 -0500
+From: xxxxxxxxx xxxxxxx <xxxxxxxxx.xxxxxxx@gmail.com>
+Reply-To: xxxxxxxxx xxxxxxx <xxxxxxxxx.xxxxxxx@gmail.com>
+To: xxxxx xxxx <xxxxx@xxxxxxxxx.com>
+Subject: Fwd: Signed email causes file attachments
+In-Reply-To: <F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@mac.com>
+Mime-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="----=_Part_5028_7368284.1115579351471"
+References: <F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@mac.com>
+
+------=_Part_5028_7368284.1115579351471
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+We should not include these files or vcards as attachments.
+
+---------- Forwarded message ----------
+From: xxxxx xxxxxx <xxxxxxxx@xxx.com>
+Date: May 8, 2005 1:17 PM
+Subject: Signed email causes file attachments
+To: xxxxxxx@xxxxxxxxxx.com
+
+
+Hi,
+
+Just started to use my xxxxxxxx account (to set-up a GTD system,
+natch) and noticed that when I send content via email the signature/
+certificate from my email account gets added as a file (e.g.
+"smime.p7s").
+
+Obviously I can uncheck the signature option in the Mail compose
+window but how often will I remember to do that?
+
+Is there any way these kind of files could be ignored, e.g. via some
+sort of exclusions list?
+
+------=_Part_5028_7368284.1115579351471
+Content-Type: application/pkcs7-signature; name=smime.p7s
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7s"
+
+MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGFDCCAs0w
+ggI2oAMCAQICAw5c+TANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
+d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
+YWlsIElzc3VpbmcgQ0EwHhcNMDUwMzI5MDkzOTEwWhcNMDYwMzI5MDkzOTEwWjBCMR8wHQYDVQQD
+ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMR8wHQYJKoZIhvcNAQkBFhBzbWhhdW5jaEBtYWMuY29t
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn90dPsYS3LjfMY211OSYrDQLzwNYPlAL
+7+/0XA+kdy8/rRnyEHFGwhNCDmg0B6pxC7z3xxJD/8GfCd+IYUUNUQV5m9MkxfP9pTVXZVIYLaBw
+o8xS3A0a1LXealcmlEbJibmKkEaoXci3MhryLgpaa+Kk/sH02SNatDO1vS28bPsibZpcc6deFrla
+hSYnL+PW54mDTGHIcCN2fbx/Y6qspzqmtKaXrv75NBtuy9cB6KzU4j2xXbTkAwz3pRSghJJaAwdp
++yIivAD3vr0kJE3p+Ez34HMh33EXEpFoWcN+MCEQZD9WnmFViMrvfvMXLGVFQfAAcC060eGFSRJ1
+ZQ9UVQIDAQABoy0wKzAbBgNVHREEFDASgRBzbWhhdW5jaEBtYWMuY29tMAwGA1UdEwEB/wQCMAAw
+DQYJKoZIhvcNAQEEBQADgYEAQMrg1n2pXVWteP7BBj+Pk3UfYtbuHb42uHcLJjfjnRlH7AxnSwrd
+L3HED205w3Cq8T7tzVxIjRRLO/ljq0GedSCFBky7eYo1PrXhztGHCTSBhsiWdiyLWxKlOxGAwJc/
+lMMnwqLOdrQcoF/YgbjeaUFOQbUh94w9VDNpWZYCZwcwggM/MIICqKADAgECAgENMA0GCSqGSIb3
+DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlD
+YXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0
+aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg
+Q0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3
+MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENv
+bnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElz
+c3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f
+6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYk
+KhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGj
+gZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRo
+YXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0R
+BCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM
+0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZ
+GwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZ
+Nd4ksdMdRv9dX2VPMYIC5zCCAuMCAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl
+IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls
+IElzc3VpbmcgQ0ECAw5c+TAJBgUrDgMCGgUAoIIBUzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB
+MBwGCSqGSIb3DQEJBTEPFw0wNTA1MDgxODE3NDZaMCMGCSqGSIb3DQEJBDEWBBQSkG9j6+hB0pKp
+fV9tCi/iP59sNTB4BgkrBgEEAYI3EAQxazBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
+dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h
+aWwgSXNzdWluZyBDQQIDDlz5MHoGCyqGSIb3DQEJEAILMWugaTBiMQswCQYDVQQGEwJaQTElMCMG
+A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv
+bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAw5c+TANBgkqhkiG9w0BAQEFAASCAQAm1GeF7dWfMvrW
+8yMPjkhE+R8D1DsiCoWSCp+5gAQm7lcK7V3KrZh5howfpI3TmCZUbbaMxOH+7aKRKpFemxoBY5Q8
+rnCkbpg/++/+MI01T69hF/rgMmrGcrv2fIYy8EaARLG0xUVFSZHSP+NQSYz0TTmh4cAESHMzY3JA
+nHOoUkuPyl8RXrimY1zn0lceMXlweZRouiPGuPNl1hQKw8P+GhOC5oLlM71UtStnrlk3P9gqX5v7
+Tj7Hx057oVfY8FMevjxGwU3EK5TczHezHbWWgTyum9l2ZQbUQsDJxSniD3BM46C1VcbDLPaotAZ0
+fTYLZizQfm5hcWEbfYVzkSzLAAAAAAAA
+------=_Part_5028_7368284.1115579351471--
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email3 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email3
new file mode 100644
index 000000000..771a96350
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email3
@@ -0,0 +1,70 @@
+From xxxx@xxxx.com Tue May 10 11:28:07 2005
+Return-Path: <xxxx@xxxx.com>
+X-Original-To: xxxx@xxxx.com
+Delivered-To: xxxx@xxxx.com
+Received: from localhost (localhost [127.0.0.1])
+ by xxx.xxxxx.com (Postfix) with ESMTP id 50FD3A96F
+ for <xxxx@xxxx.com>; Tue, 10 May 2005 17:26:50 +0000 (GMT)
+Received: from xxx.xxxxx.com ([127.0.0.1])
+ by localhost (xxx.xxxxx.com [127.0.0.1]) (amavisd-new, port 10024)
+ with LMTP id 70060-03 for <xxxx@xxxx.com>;
+ Tue, 10 May 2005 17:26:49 +0000 (GMT)
+Received: from xxx.xxxxx.com (xxx.xxxxx.com [69.36.39.150])
+ by xxx.xxxxx.com (Postfix) with ESMTP id 8B957A94B
+ for <xxxx@xxxx.com>; Tue, 10 May 2005 17:26:48 +0000 (GMT)
+Received: from xxx.xxxxx.com (xxx.xxxxx.com [64.233.184.203])
+ by xxx.xxxxx.com (Postfix) with ESMTP id 9972514824C
+ for <xxxx@xxxx.com>; Tue, 10 May 2005 12:26:40 -0500 (CDT)
+Received: by xxx.xxxxx.com with SMTP id 68so1694448wri
+ for <xxxx@xxxx.com>; Tue, 10 May 2005 10:26:40 -0700 (PDT)
+DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
+ s=beta; d=xxxxx.com;
+ h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type;
+ b=g8ZO5ttS6GPEMAz9WxrRk9+9IXBUfQIYsZLL6T88+ECbsXqGIgfGtzJJFn6o9CE3/HMrrIGkN5AisxVFTGXWxWci5YA/7PTVWwPOhJff5BRYQDVNgRKqMl/SMttNrrRElsGJjnD1UyQ/5kQmcBxq2PuZI5Zc47u6CILcuoBcM+A=
+Received: by 10.54.96.19 with SMTP id t19mr621017wrb;
+ Tue, 10 May 2005 10:26:39 -0700 (PDT)
+Received: by 10.54.110.5 with HTTP; Tue, 10 May 2005 10:26:39 -0700 (PDT)
+Message-ID: <xxxx@xxxx.com>
+Date: Tue, 10 May 2005 11:26:39 -0600
+From: Test Tester <xxxx@xxxx.com>
+Reply-To: Test Tester <xxxx@xxxx.com>
+To: xxxx@xxxx.com, xxxx@xxxx.com
+Subject: Another PDF
+Mime-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="----=_Part_2192_32400445.1115745999735"
+X-Virus-Scanned: amavisd-new at textdrive.com
+
+------=_Part_2192_32400445.1115745999735
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+Just attaching another PDF, here, to see what the message looks like,
+and to see if I can figure out what is going wrong here.
+
+------=_Part_2192_32400445.1115745999735
+Content-Type: application/pdf; name="broken.pdf"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="broken.pdf"
+
+JVBERi0xLjQNCiXk9tzfDQoxIDAgb2JqDQo8PCAvTGVuZ3RoIDIgMCBSDQogICAvRmlsdGVyIC9G
+bGF0ZURlY29kZQ0KPj4NCnN0cmVhbQ0KeJy9Wt2KJbkNvm/od6jrhZxYln9hWEh2p+8HBvICySaE
+ycLuTV4/1ifJ9qnq09NpSBimu76yLUuy/qzqcPz7+em3Ixx/CDc6CsXxs3b5+fvfjr/8cPz6/BRu
+rbfAx/n3739/fuJylJ5u5fjX81OuDr4deK4Bz3z/aDP+8fz0yw8g0Ofq7ktr1Mn+u28rvhy/jVeD
+QSa+9YNKHP/pxjvDNfVAx/m3MFz54FhvTbaseaxiDoN2LeMVMw+yA7RbHSCDzxZuaYB2E1Yay7QU
+x89vz0+tyFDKMlAHK5yqLmnjF+c4RjEiQIUeKwblXMe+AsZjN1J5yGQL5DHpDHksurM81rF6PKab
+gK6zAarIDzIiUY23rJsN9iorAE816aIu6lsgAdQFsuhhkHOUFgVjp2GjMqSewITXNQ27jrMeamkg
+1rPI3iLWG2CIaSBB+V1245YVRICGbbpYKHc2USFDl6M09acQVQYhlwIrkBNLISvXhGlF1wi5FHCw
+wxZkoGNJlVeJCEsqKA+3YAV5AMb6KkeaqEJQmFKKQU8T1pRi2ihE1Y4CDrqoYFFXYjJJOatsyzuI
+8SIlykuxKTMibWK8H1PgEvqYgs4GmQSrEjJAalgGirIhik+p4ZQN9E3ETFPAHE1b8pp1l/0Rc1gl
+fQs0ABWvyoZZzU8VnPXwVVcO9BEsyjEJaO6eBoZRyKGlrKoYoOygA8BGIzgwN3RQ15ouigG5idZQ
+fx2U4Db2CqiLO0WHAZoylGiCAqhniNQjFjQPSkmjwfNTgQ6M1Ih+eWo36wFmjIxDJZiGUBiWsAyR
+xX3EekGOizkGI96Ol9zVZTAivikURhRsHh2E3JhWMpSTZCnnonrLhMCodgrNcgo4uyJUJc6qnVss
+nrGd1Ptr0YwisCOYyIbUwVjV4xBUNLbguSO2YHujonAMJkMdSI7bIw91Akq2AUlMUWGFTMAOamjU
+OvZQCxIkY2pCpMFo/IwLdVLHs6nddwTRrgoVbvLU9eB0G4EMndV0TNoxHbt3JBWwK6hhv3iHfDtF
+yokB302IpEBTnWICde4uYc/1khDbSIkQopO6lcqamGBu1OSE3N5IPSsZX00CkSHRiiyx6HQIShsS
+HSVNswdVsaOUSAWq9aYhDtGDaoG5a3lBGkYt/lFlBFt1UqrYnzVtUpUQnLiZeouKgf1KhRBViRRk
+ExepJCzTwEmFDalIRbLEGtw0gfpESOpIAF/NnpPzcVCG86s0g2DuSyd41uhNGbEgaSrWEXORErbw
+------=_Part_2192_32400445.1115745999735--
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email4 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email4
new file mode 100644
index 000000000..639ad40e4
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email4
@@ -0,0 +1,59 @@
+Return-Path: <xxx@xxxx.xxx>
+Received: from xxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id 6AAEE3B4D23 for <xxx@xxxx.xxx>; Sun, 8 May 2005 12:30:23 -0500
+Received: from xxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id j48HUC213279 for <xxx@xxxx.xxx>; Sun, 8 May 2005 12:30:13 -0500
+Received: from conversion-xxx.xxxx.xxx.net by xxx.xxxx.xxx id <0IG600901LQ64I@xxx.xxxx.xxx> for <xxx@xxxx.xxx>; Sun, 8 May 2005 12:30:12 -0500
+Received: from agw1 by xxx.xxxx.xxx with ESMTP id <0IG600JFYLYCAxxx@xxxx.xxx> for <xxx@xxxx.xxx>; Sun, 8 May 2005 12:30:12 -0500
+Date: Sun, 8 May 2005 12:30:08 -0500
+From: xxx@xxxx.xxx
+To: xxx@xxxx.xxx
+Message-Id: <7864245.1115573412626.JavaMxxx@xxxx.xxx>
+Subject: Filth
+Mime-Version: 1.0
+Content-Type: multipart/mixed; boundary=mimepart_427e4cb4ca329_133ae40413c81ef
+X-Mms-Priority: 1
+X-Mms-Transaction-Id: 3198421808-0
+X-Mms-Message-Type: 0
+X-Mms-Sender-Visibility: 1
+X-Mms-Read-Reply: 1
+X-Original-To: xxx@xxxx.xxx
+X-Mms-Message-Class: 0
+X-Mms-Delivery-Report: 0
+X-Mms-Mms-Version: 16
+Delivered-To: xxx@xxxx.xxx
+X-Nokia-Ag-Version: 2.0
+
+This is a multi-part message in MIME format.
+
+--mimepart_427e4cb4ca329_133ae40413c81ef
+Content-Type: multipart/mixed; boundary=mimepart_427e4cb4cbd97_133ae40413c8217
+
+
+
+--mimepart_427e4cb4cbd97_133ae40413c8217
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+Content-Location: text.txt
+
+Some text
+
+--mimepart_427e4cb4cbd97_133ae40413c8217--
+
+--mimepart_427e4cb4ca329_133ae40413c81ef
+Content-Type: text/plain; charset=us-ascii
+Content-Transfer-Encoding: 7bit
+
+
+--
+This Orange Multi Media Message was sent wirefree from an Orange
+MMS phone. If you would like to reply, please text or phone the
+sender directly by using the phone number listed in the sender's
+address. To learn more about Orange's Multi Media Messaging
+Service, find us on the Web at xxx.xxxx.xxx.uk/mms
+
+
+--mimepart_427e4cb4ca329_133ae40413c81ef
+
+
+--mimepart_427e4cb4ca329_133ae40413c81ef-
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email5 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email5
new file mode 100644
index 000000000..151c63147
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email5
@@ -0,0 +1,19 @@
+Return-Path: <xxx@xxxx.xxx>
+Received: from xxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id C1B953B4CB6 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:05 -0500
+Received: from SMS-GTYxxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id ca for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:04 -0500
+Received: from xxx.xxxx.xxx by SMS-GTYxxx.xxxx.xxx with ESMTP id j4AKR3r23323 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:03 -0500
+Date: Tue, 10 May 2005 15:27:03 -0500
+From: xxx@xxxx.xxx
+Sender: xxx@xxxx.xxx
+To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Message-Id: <xxx@xxxx.xxx>
+X-Original-To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Delivered-To: xxx@xxxx.xxx
+Importance: normal
+
+Test test. Hi. Waving. m
+
+----------------------------------------------------------------
+Sent via Bell Mobility's Text Messaging service.
+Envoyé par le service de messagerie texte de Bell Mobilité.
+----------------------------------------------------------------
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email6 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email6
new file mode 100644
index 000000000..93289c4f9
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email6
@@ -0,0 +1,20 @@
+Return-Path: <xxx@xxxx.xxx>
+Received: from xxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id C1B953B4CB6 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:05 -0500
+Received: from SMS-GTYxxx.xxxx.xxx by xxx.xxxx.xxx with ESMTP id ca for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:04 -0500
+Received: from xxx.xxxx.xxx by SMS-GTYxxx.xxxx.xxx with ESMTP id j4AKR3r23323 for <xxxxx@Exxx.xxxx.xxx>; Tue, 10 May 2005 15:27:03 -0500
+Date: Tue, 10 May 2005 15:27:03 -0500
+From: xxx@xxxx.xxx
+Sender: xxx@xxxx.xxx
+To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Message-Id: <xxx@xxxx.xxx>
+X-Original-To: xxxxxxxxxxx@xxxx.xxxx.xxx
+Delivered-To: xxx@xxxx.xxx
+Importance: normal
+Content-Type: text/plain; charset=us-ascii
+
+Test test. Hi. Waving. m
+
+----------------------------------------------------------------
+Sent via Bell Mobility's Text Messaging service.
+Envoyé par le service de messagerie texte de Bell Mobilité.
+----------------------------------------------------------------
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email7 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email7
new file mode 100644
index 000000000..da64ada8a
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email7
@@ -0,0 +1,66 @@
+Mime-Version: 1.0 (Apple Message framework v730)
+Content-Type: multipart/mixed; boundary=Apple-Mail-13-196941151
+Message-Id: <9169D984-4E0B-45EF-82D4-8F5E53AD7012@example.com>
+From: foo@example.com
+Subject: testing
+Date: Mon, 6 Jun 2005 22:21:22 +0200
+To: blah@example.com
+
+
+--Apple-Mail-13-196941151
+Content-Type: multipart/mixed;
+ boundary=Apple-Mail-12-196940926
+
+
+--Apple-Mail-12-196940926
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain;
+ charset=ISO-8859-1;
+ delsp=yes;
+ format=flowed
+
+This is the first part.
+
+--Apple-Mail-12-196940926
+Content-Transfer-Encoding: 7bit
+Content-Type: text/x-ruby-script;
+ x-unix-mode=0666;
+ name="test.rb"
+Content-Disposition: attachment;
+ filename=test.rb
+
+puts "testing, testing"
+
+--Apple-Mail-12-196940926
+Content-Transfer-Encoding: base64
+Content-Type: application/pdf;
+ x-unix-mode=0666;
+ name="test.pdf"
+Content-Disposition: inline;
+ filename=test.pdf
+
+YmxhaCBibGFoIGJsYWg=
+
+--Apple-Mail-12-196940926
+Content-Transfer-Encoding: 7bit
+Content-Type: text/plain;
+ charset=US-ASCII;
+ format=flowed
+
+
+
+--Apple-Mail-12-196940926--
+
+--Apple-Mail-13-196941151
+Content-Transfer-Encoding: base64
+Content-Type: application/pkcs7-signature;
+ name=smime.p7s
+Content-Disposition: attachment;
+ filename=smime.p7s
+
+jamisSqGSIb3DQEHAqCAMIjamisxCzAJBgUrDgMCGgUAMIAGCSqGSjamisEHAQAAoIIFSjCCBUYw
+ggQujamisQICBD++ukQwDQYJKojamisNAQEFBQAwMTELMAkGA1UEBhMCRjamisAKBgNVBAoTA1RE
+QzEUMBIGjamisxMLVERDIE9DRVMgQ0jamisNMDQwMjI5MTE1OTAxWhcNMDYwMjamisIyOTAxWjCB
+gDELMAkGA1UEjamisEsxKTAnBgNVBAoTIEjamisuIG9yZ2FuaXNhdG9yaXNrIHRpbjamisRuaW5=
+
+--Apple-Mail-13-196941151--
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email8 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email8
new file mode 100644
index 000000000..2382dfdf3
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email8
@@ -0,0 +1,47 @@
+From xxxxxxxxx.xxxxxxx@gmail.com Sun May 8 19:07:09 2005
+Return-Path: <xxxxxxxxx.xxxxxxx@gmail.com>
+Message-ID: <e85734b90505081209eaaa17b@mail.gmail.com>
+Date: Sun, 8 May 2005 14:09:11 -0500
+From: xxxxxxxxx xxxxxxx <xxxxxxxxx.xxxxxxx@gmail.com>
+Reply-To: xxxxxxxxx xxxxxxx <xxxxxxxxx.xxxxxxx@gmail.com>
+To: xxxxx xxxx <xxxxx@xxxxxxxxx.com>
+Subject: Fwd: Signed email causes file attachments
+In-Reply-To: <F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@mac.com>
+Mime-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="----=_Part_5028_7368284.1115579351471"
+References: <F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@mac.com>
+
+------=_Part_5028_7368284.1115579351471
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+We should not include these files or vcards as attachments.
+
+---------- Forwarded message ----------
+From: xxxxx xxxxxx <xxxxxxxx@xxx.com>
+Date: May 8, 2005 1:17 PM
+Subject: Signed email causes file attachments
+To: xxxxxxx@xxxxxxxxxx.com
+
+
+Hi,
+
+Test attachments oddly encoded with japanese charset.
+
+
+------=_Part_5028_7368284.1115579351471
+Content-Type: application/octet-stream; name*=iso-2022-jp'ja'01%20Quien%20Te%20Dij%8aat.%20Pitbull.mp3
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment
+
+MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGFDCCAs0w
+ggI2oAMCAQICAw5c+TANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
+d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
+YWlsIElzc3VpbmcgQ0EwHhcNMDUwMzI5MDkzOTEwWhcNMDYwMzI5MDkzOTEwWjBCMR8wHQYDVQQD
+ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMR8wHQYJKoZIhvcNAQkBFhBzbWhhdW5jaEBtYWMuY29t
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn90dPsYS3LjfMY211OSYrDQLzwNYPlAL
+7+/0XA+kdy8/rRnyEHFGwhNCDmg0B6pxC7z3xxJD/8GfCd+IYUUNUQV5m9MkxfP9pTVXZVIYLaBw
+------=_Part_5028_7368284.1115579351471--
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email9 b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email9
new file mode 100644
index 000000000..8b9b1eaa0
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email9
@@ -0,0 +1,28 @@
+Received: from xxx.xxx.xxx ([xxx.xxx.xxx.xxx] verified)
+ by xxx.com (CommuniGate Pro SMTP 4.2.8)
+ with SMTP id 2532598 for xxx@xxx.com; Wed, 23 Feb 2005 17:51:49 -0500
+Received-SPF: softfail
+ receiver=xxx.com; client-ip=xxx.xxx.xxx.xxx; envelope-from=xxx@xxx.xxx
+quite Delivered-To: xxx@xxx.xxx
+Received: by xxx.xxx.xxx (Wostfix, from userid xxx)
+ id 0F87F333; Wed, 23 Feb 2005 16:16:17 -0600
+Date: Wed, 23 Feb 2005 18:20:17 -0400
+From: "xxx xxx" <xxx@xxx.xxx>
+Message-ID: <4D6AA7EB.6490534@xxx.xxx>
+To: xxx@xxx.com
+Subject: Stop adware/spyware once and for all.
+X-Scanned-By: MIMEDefang 2.11 (www dot roaringpenguin dot com slash mimedefang)
+
+You are infected with:
+Ad Ware and Spy Ware
+
+Get your free scan and removal download now,
+before it gets any worse.
+
+http://xxx.xxx.info?aid=3D13&?stat=3D4327kdzt
+
+
+
+
+no more? (you will still be infected)
+http://xxx.xxx.info/discon/?xxx@xxx.com
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_quoted_with_0d0a b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_quoted_with_0d0a
new file mode 100644
index 000000000..8a2c25a5d
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_quoted_with_0d0a
@@ -0,0 +1,14 @@
+Mime-Version: 1.0 (Apple Message framework v730)
+Message-Id: <9169D984-4E0B-45EF-82D4-8F5E53AD7012@example.com>
+From: foo@example.com
+Subject: testing
+Date: Mon, 6 Jun 2005 22:21:22 +0200
+To: blah@example.com
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain
+
+A fax has arrived from remote ID ''.=0D=0A-----------------------=
+-------------------------------------=0D=0ATime: 3/9/2006 3:50:52=
+ PM=0D=0AReceived from remote ID: =0D=0AInbound user ID XXXXXXXXXX, r=
+outing code XXXXXXXXX=0D=0AResult: (0/352;0/0) Successful Send=0D=0AP=
+age record: 1 - 1=0D=0AElapsed time: 00:58 on channel 11=0D=0A
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type
new file mode 100644
index 000000000..a8ff7ed4c
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type
@@ -0,0 +1,104 @@
+Return-Path: <mikel.other@baci>
+Received: from some.isp.com by baci with ESMTP id 632BD5758 for <mikel.lindsaar@baci>; Sun, 21 Oct 2007 19:38:21 +1000
+Date: Sun, 21 Oct 2007 19:38:13 +1000
+From: Mikel Lindsaar <mikel.other@baci>
+Reply-To: Mikel Lindsaar <mikel.other@baci>
+To: mikel.lindsaar@baci
+Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a>
+Subject: Testing outlook
+Mime-Version: 1.0
+Content-Type: multipart/alternative; boundary=----=_NextPart_000_0093_01C81419.EB75E850
+Delivered-To: mikel.lindsaar@baci
+X-Mimeole: Produced By Microsoft MimeOLE V6.00.2900.3138
+X-Msmail-Priority: Normal
+
+This is a multi-part message in MIME format.
+
+
+------=_NextPart_000_0093_01C81419.EB75E850
+Content-Type: text/plain; charset=iso-8859-1
+Content-Transfer-Encoding: Quoted-printable
+
+Hello
+This is an outlook test
+
+So there.
+
+Me.
+
+------=_NextPart_000_0093_01C81419.EB75E850
+Content-Type: text/html; charset=iso-8859-1
+Content-Transfer-Encoding: Quoted-printable
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD>
+<META http-equiv=3DContent-Type content=3D"text/html; =
+charset=3Diso-8859-1">
+<META content=3D"MSHTML 6.00.6000.16525" name=3DGENERATOR>
+<STYLE></STYLE>
+</HEAD>
+<BODY bgColor=3D#ffffff>
+<DIV><FONT face=3DArial size=3D2>Hello</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG>This is an outlook=20
+test</STRONG></FONT></DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG></STRONG></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG>So there.</STRONG></FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>Me.</FONT></DIV></BODY></HTML>
+
+
+------=_NextPart_000_0093_01C81419.EB75E850--
+
+
+Return-Path: <mikel.other@baci>
+Received: from some.isp.com by baci with ESMTP id 632BD5758 for <mikel.lindsaar@baci>; Sun, 21 Oct 2007 19:38:21 +1000
+Date: Sun, 21 Oct 2007 19:38:13 +1000
+From: Mikel Lindsaar <mikel.other@baci>
+Reply-To: Mikel Lindsaar <mikel.other@baci>
+To: mikel.lindsaar@baci
+Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a>
+Subject: Testing outlook
+Mime-Version: 1.0
+Content-Type: multipart/alternative; boundary=----=_NextPart_000_0093_01C81419.EB75E850
+Delivered-To: mikel.lindsaar@baci
+X-Mimeole: Produced By Microsoft MimeOLE V6.00.2900.3138
+X-Msmail-Priority: Normal
+
+This is a multi-part message in MIME format.
+
+
+------=_NextPart_000_0093_01C81419.EB75E850
+Content-Type: text/plain; charset=iso-8859-1
+Content-Transfer-Encoding: Quoted-printable
+
+Hello
+This is an outlook test
+
+So there.
+
+Me.
+
+------=_NextPart_000_0093_01C81419.EB75E850
+Content-Type: text/html; charset=iso-8859-1
+Content-Transfer-Encoding: Quoted-printable
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD>
+<META http-equiv=3DContent-Type content=3D"text/html; =
+charset=3Diso-8859-1">
+<META content=3D"MSHTML 6.00.6000.16525" name=3DGENERATOR>
+<STYLE></STYLE>
+</HEAD>
+<BODY bgColor=3D#ffffff>
+<DIV><FONT face=3DArial size=3D2>Hello</FONT></DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG>This is an outlook=20
+test</STRONG></FONT></DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG></STRONG></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2><STRONG>So there.</STRONG></FONT></DIV>
+<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT face=3DArial size=3D2>Me.</FONT></DIV></BODY></HTML>
+
+
+------=_NextPart_000_0093_01C81419.EB75E850--
+
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_nested_attachment b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_nested_attachment
new file mode 100644
index 000000000..429c408c5
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_nested_attachment
@@ -0,0 +1,100 @@
+From jamis@37signals.com Thu Feb 22 11:20:31 2007
+Mime-Version: 1.0 (Apple Message framework v752.3)
+Message-Id: <2CCE0408-10C7-4045-9B16-A1C11C31469B@37signals.com>
+Content-Type: multipart/signed;
+ micalg=sha1;
+ boundary=Apple-Mail-42-587703407;
+ protocol="application/pkcs7-signature"
+To: Jamis Buck <jamis@jamisbuck.org>
+Subject: Testing attachments
+From: Jamis Buck <jamis@37signals.com>
+Date: Thu, 22 Feb 2007 11:20:31 -0700
+
+
+--Apple-Mail-42-587703407
+Content-Type: multipart/mixed;
+ boundary=Apple-Mail-41-587703287
+
+
+--Apple-Mail-41-587703287
+Content-Transfer-Encoding: 7bit
+Content-Type: text/plain;
+ charset=US-ASCII;
+ format=flowed
+
+Here is a test of an attachment via email.
+
+- Jamis
+
+
+--Apple-Mail-41-587703287
+Content-Transfer-Encoding: base64
+Content-Type: image/png;
+ x-unix-mode=0644;
+ name=byo-ror-cover.png
+Content-Disposition: inline;
+ filename=truncated.png
+
+iVBORw0KGgoAAAANSUhEUgAAAKUAAADXCAYAAAB7wZEQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAALEgAACxIB0t1+/AAAABd0RVh0Q3JlYXRpb24gVGltZQAxLzI1LzIwMDeD9CJVAAAAGHRFWHRT
+b2Z0d2FyZQBBZG9iZSBGaXJld29ya3NPsx9OAAAyBWlUWHRYTUw6Y29tLmFkb2JlLnhtcDw/eHBh
+Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1l
+dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1j
+MDIwIDEuMjU1NzE2LCBUdWUgT2N0IDEwIDIwMDYgMjM6MTY6MzQiPgogICA8cmRmOlJERiB4bWxu
+czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAg
+ICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0
+dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0b3JUb29sPkFk
+b2JlIEZpcmV3b3JrcyBDUzM8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVhdGVE
+YXRlPjIwMDctMDEtMjVUMDU6Mjg6MjFaPC94YXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhhcDpN
+b2RpZnlEYXRlPjIwMDctMDEtMjVUMDU6Mjg6MjFaPC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9y
+ZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAg
+ICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAg
+ICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0
+hhojpmnJMfaYFmSkXWg5PGCmHXVj/c9At0hSK2xGdd8F3muk0VFjb4f5Ue0ksQ8qAcq0delaXhdb
+DjKNnF+3B3t9kObZYmk7AZgWYqO9anpR3wpM9sQ5XslB9a+kWyTtNb0fOmudzGHfPFBQDKesyycm
+DBL7Cw5bXjIEuci+SSOm/LYnXDZu6iuPEj8lYBb+OU8xx1f9m+e5rhJiYKqjo5vHfiZp+VUkW9xc
+Ufd6JHNWc47PkQqb9ie3SLEZB/ZqyAssiqURY+G35iOMZUrHbasHnb80QAPv9FHtAbJIyro7bi5b
+ai2TEAKen5+LJNWrglZjm3UbZvt7KryA2J5b5J1jZF8kL6GzvG1Zqx54Y1y7J7n20wMOt9frG2sW
+uwGP07kNz3732vf6bfvAvLldfS+9fts2euXY37D+R29FGZdlnhzV4TTFmPJduBP2RbNNua4rTqcT
+Qt7Xy1KUB0AHSdP5AZQYvHZg7WD1XvYeMO1A9HhZPqMX5KXbMBrn2efxns/ee21674efxz4Tp/fq
+2HZ648dgYaC1i3Vq1IbNPq3PvDTPezY9FaRISjvnzWqdgcWN8EJgjnNq+Z7ktOm9l2Nfth28EZi4
+bG/we5JwxM+Tql47/D/X6b38I8/RyxvxPJrX6zvQbo3h9jyJx+C0ALX327QETHl5eYlaYCT5rPTb
++5/rAq26t3lKIxV/p88hq6ptngdgCzoPjJqndiLfc/6y5A14WeDFGNPct4iUsJBV2bYzLEV7m83s
+6Rp63VPhHKC/g/LzaU9qexJRr56043JWinqAtfZqsSm1sjoznthl54dtCqv+uL4nIY+oYWuc3+nH
+kGfn8b0HQpvOYLQAZUDanbJs3jQhITZEgdarZK+cO6ySlL13rut5nFaN23s7u3Snz6eRPTkCoc2/
+Vp1zHfZVFpZ87FiMVLV1iqyK5rlzfji2GzjfDsodlD+Weo5UD4h6PwKqzQMqID0tq2VjjFVSMpis
+ZLRAs7sePZBZAHI+gIanB8I7MD+femAceeUe2Kxa5jS950kZ1p5eNEdeX1+jFmSpZ+1EdWCsDcne
+NPNgUHNw3aYpnzv9PGTX0uo94EtN9qq1rOdxe3kc79T8ukeHJJ8Fnxej6qlylbLLsjQLOy6Xy2a1
+kefs/N+nM7+S7IG5/E5Yc7F003pWErLjbH0O5cGadiMptSB/DZ5U5DI9yeg5MFYyMj8lC/Y7/Xjq
+OZlWcnpg9aQfXz2HRq+Wn5xOp6gN8tWq8R44e2pfyzLYemEgprst+XXk2Zj2nXlbsG05BprndTMv
+C3QRaXczshhVsHnMgfYn80Y2g5JureA6wBasPeP7LkE/jvZMJAaf/g/U2RelHsisvan5FqweIAHg
+Pwc7L68GxvVDAAAAAElFTkSuQmCC
+
+--Apple-Mail-41-587703287--
+
+--Apple-Mail-42-587703407
+Content-Transfer-Encoding: base64
+Content-Type: application/pkcs7-signature;
+ name=smime.p7s
+Content-Disposition: attachment;
+ filename=smime.p7s
+
+MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGJzCCAuAw
+ggJJoAMCAQICEFjnFNYXwDEZRWY5EkfzopUwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx
+JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ
+ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDkxMjE3MDExMloXDTA3MDkxMjE3MDEx
+MlowRTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEiMCAGCSqGSIb3DQEJARYTamFt
+aXNAMzdzaWduYWxzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO2A9JeOFIFJ
+G6z8pTcAldrZ2nMe+Xb1tNrbHgoVzN/QhHXM4qst2Ml93cmFLjMmwG7P9RJeU4oNx+jTqVoBB7NV
+Ne1/o56Do0KhfMZ9iUDQdPLbkZMq4EEpFMdm6PyM3muRKwPhj66iAWe/osCb8DowUK2f66vaRx0Z
+Y0MQHIIrXE02Ta4IfAhIfPqBLkZ4WgTYBHN9vMdYea1jF0GO4gqGk1wqwb3yxv2QMYMbwJ6SI+k/
+ZjkSR/OilTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
+dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h
+aWwgSXNzdWluZyBDQQIQWOcU1hfAMRlFZjkSR/OilTANBgkqhkiG9w0BAQEFAASCAQCfwQiC3v6/
+yleRDGv3bJ4nQYQ+c3mz3+mn3Xi6uU35n3piwxZZaWRdmLyiXPvU+QReHpSf3l2qsEZM3sdE0XF9
+eRul/+QTFJcDNXOEAxG1zC2Gpz+6c6RrX4Ou12Pwkp+pNrZWTSY/mZgdqcArupOBcZi7qBjoWcy5
+wb54dfvSSjrjmqLbkH/E8ww/6gGQuU/xXpAUZgUrTmQHrNKeIdSh5oDkOxFaFWvnmb8Z/2ixKqW/
+Ux6WqamyvBtTs/5YBEtnpZOk+uVoscYEUBhU+DVJ2OSvTdXSivMtBdXmGTsG22k+P1NGUHi/A7ev
+xPaO0uk4V8xyjNlN4HPuGpkrlXwPAAAAAAAA
+
+--Apple-Mail-42-587703407--
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject
new file mode 100644
index 000000000..e86108da1
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject
@@ -0,0 +1,14 @@
+From jamis@37signals.com Mon May 2 16:07:05 2005
+Mime-Version: 1.0 (Apple Message framework v622)
+Content-Transfer-Encoding: base64
+Message-Id: <d3b8cf8e49f04480850c28713a1f473e@37signals.com>
+Content-Type: text/plain;
+ charset=EUC-KR;
+ format=flowed
+To: jamis@37signals.com
+From: Jamis Buck <jamis@37signals.com>
+Subject: Re: Test: =?UTF-8?B?Iua8ouWtlyI=?= mid =?UTF-8?B?Iua8ouWtlyI=?= tail
+Date: Mon, 2 May 2005 16:07:05 -0600
+
+tOu6zrrQwMcguLbC+bChwfa3ziwgv+y4rrTCIMfPs6q01MC7ILnPvcC0z7TZLg0KDQrBpiDAzLin
+wLogSmFtaXPA1LTPtNku
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.erb
new file mode 100644
index 000000000..9a5401067
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.erb
@@ -0,0 +1 @@
+second mail
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/second_mailer/share.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.erb
new file mode 100644
index 000000000..a85d5fa44
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.erb
@@ -0,0 +1,3 @@
+Hello there,
+
+Mr. <%= @recipient %> \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/templates/signed_up.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb
new file mode 100644
index 000000000..3b4ba35f2
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb
@@ -0,0 +1 @@
+let's go! \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml
new file mode 100644
index 000000000..847d065c3
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml
@@ -0,0 +1,6 @@
+%p Hello there,
+
+%p
+ Mr.
+ = @recipient
+ from haml \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml
new file mode 100644
index 000000000..847d065c3
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml
@@ -0,0 +1,6 @@
+%p Hello there,
+
+%p
+ Mr.
+ = @recipient
+ from haml \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb
new file mode 100644
index 000000000..6940419d4
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb
@@ -0,0 +1 @@
+Ignored when searching for implicitly multipart parts.
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak
new file mode 100644
index 000000000..6940419d4
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak
@@ -0,0 +1 @@
+Ignored when searching for implicitly multipart parts.
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb
new file mode 100644
index 000000000..946d99ede
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb
@@ -0,0 +1,10 @@
+<html>
+ <body>
+ HTML formatted message to <strong><%= @recipient %></strong>.
+ </body>
+</html>
+<html>
+ <body>
+ HTML formatted message to <strong><%= @recipient %></strong>.
+ </body>
+</html>
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb
new file mode 100644
index 000000000..a6c8d54cf
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb
@@ -0,0 +1,2 @@
+Plain text to <%= @recipient %>.
+Plain text to <%= @recipient %>.
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb
new file mode 100644
index 000000000..c14348c77
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb
@@ -0,0 +1 @@
+yaml to: <%= @recipient %> \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb
new file mode 100644
index 000000000..a93c30ea1
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb
@@ -0,0 +1 @@
+Hey Ho, <%= render :partial => "subtemplate" %> \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.builder b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.builder
new file mode 100644
index 000000000..d566bd8d7
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.builder
@@ -0,0 +1,2 @@
+xml.instruct!
+xml.test \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.rxml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.rxml
new file mode 100644
index 000000000..d566bd8d7
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/rxml_template.rxml
@@ -0,0 +1,2 @@
+xml.instruct!
+xml.test \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.erb
new file mode 100644
index 000000000..a85d5fa44
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.erb
@@ -0,0 +1,3 @@
+Hello there,
+
+Mr. <%= @recipient %> \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb
new file mode 100644
index 000000000..4c5806d30
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb
@@ -0,0 +1,5 @@
+Hello there,
+
+Mr. <%= @recipient %>. Please see our greeting at <%= @welcome_url %> <%= welcome_url %>
+
+<%= image_tag "somelogo.png" %> \ No newline at end of file
diff --git a/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml
diff --git a/vendor/rails-2.0.2/actionmailer/test/mail_helper_test.rb b/vendor/rails-2.0.2/actionmailer/test/mail_helper_test.rb
new file mode 100644
index 000000000..70e5cb81d
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/mail_helper_test.rb
@@ -0,0 +1,95 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+module MailerHelper
+ def person_name
+ "Mr. Joe Person"
+ end
+end
+
+class HelperMailer < ActionMailer::Base
+ helper MailerHelper
+ helper :example
+
+ def use_helper(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ end
+
+ def use_example_helper(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ self.body = { :text => "emphasize me!" }
+ end
+
+ def use_mail_helper(recipient)
+ recipients recipient
+ subject "using mailing helpers"
+ from "tester@example.com"
+ self.body = { :text =>
+ "But soft! What light through yonder window breaks? It is the east, " +
+ "and Juliet is the sun. Arise, fair sun, and kill the envious moon, " +
+ "which is sick and pale with grief that thou, her maid, art far more " +
+ "fair than she. Be not her maid, for she is envious! Her vestal " +
+ "livery is but sick and green, and none but fools do wear it. Cast " +
+ "it off!"
+ }
+ end
+
+ def use_helper_method(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ self.body = { :text => "emphasize me!" }
+ end
+
+ private
+
+ def name_of_the_mailer_class
+ self.class.name
+ end
+ helper_method :name_of_the_mailer_class
+end
+
+class MailerHelperTest < Test::Unit::TestCase
+ def new_mail( charset="utf-8" )
+ mail = TMail::Mail.new
+ mail.set_content_type "text", "plain", { "charset" => charset } if charset
+ mail
+ end
+
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+
+ @recipient = 'test@localhost'
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_use_helper
+ mail = HelperMailer.create_use_helper(@recipient)
+ assert_match %r{Mr. Joe Person}, mail.encoded
+ end
+
+ def test_use_example_helper
+ mail = HelperMailer.create_use_example_helper(@recipient)
+ assert_match %r{<em><strong><small>emphasize me!}, mail.encoded
+ end
+
+ def test_use_helper_method
+ mail = HelperMailer.create_use_helper_method(@recipient)
+ assert_match %r{HelperMailer}, mail.encoded
+ end
+
+ def test_use_mail_helper
+ mail = HelperMailer.create_use_mail_helper(@recipient)
+ assert_match %r{ But soft!}, mail.encoded
+ assert_match %r{east, and\n Juliet}, mail.encoded
+ end
+end
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/mail_render_test.rb b/vendor/rails-2.0.2/actionmailer/test/mail_render_test.rb
new file mode 100644
index 000000000..475735e7b
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/mail_render_test.rb
@@ -0,0 +1,122 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+class RenderMailer < ActionMailer::Base
+ def inline_template(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ body render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" })
+ end
+
+ def file_template(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ body render(:file => "signed_up", :body => { :recipient => recipient })
+ end
+
+ def rxml_template(recipient)
+ recipients recipient
+ subject "rendering rxml template"
+ from "tester@example.com"
+ end
+
+ def included_subtemplate(recipient)
+ recipients recipient
+ subject "Including another template in the one being rendered"
+ from "tester@example.com"
+ end
+
+ def included_old_subtemplate(recipient)
+ recipients recipient
+ subject "Including another template in the one being rendered"
+ from "tester@example.com"
+ body render(:inline => "Hello, <%= render \"subtemplate\" %>", :body => { :world => "Earth" })
+ end
+
+ def initialize_defaults(method_name)
+ super
+ mailer_name "test_mailer"
+ end
+end
+
+class FirstMailer < ActionMailer::Base
+ def share(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ end
+end
+
+class SecondMailer < ActionMailer::Base
+ def share(recipient)
+ recipients recipient
+ subject "using helpers"
+ from "tester@example.com"
+ end
+end
+
+class RenderHelperTest < Test::Unit::TestCase
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+
+ @recipient = 'test@localhost'
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_inline_template
+ mail = RenderMailer.create_inline_template(@recipient)
+ assert_equal "Hello, Earth", mail.body.strip
+ end
+
+ def test_file_template
+ mail = RenderMailer.create_file_template(@recipient)
+ assert_equal "Hello there, \n\nMr. test@localhost", mail.body.strip
+ end
+
+ def test_rxml_template
+ mail = RenderMailer.deliver_rxml_template(@recipient)
+ assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<test/>", mail.body.strip
+ end
+
+ def test_included_subtemplate
+ mail = RenderMailer.deliver_included_subtemplate(@recipient)
+ assert_equal "Hey Ho, let's go!", mail.body.strip
+ end
+
+ def test_deprecated_old_subtemplate
+ assert_raises ActionView::ActionViewError do
+ RenderMailer.deliver_included_old_subtemplate(@recipient)
+ end
+ end
+end
+
+class FirstSecondHelperTest < Test::Unit::TestCase
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+
+ @recipient = 'test@localhost'
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_ordering
+ mail = FirstMailer.create_share(@recipient)
+ assert_equal "first mail", mail.body.strip
+ mail = SecondMailer.create_share(@recipient)
+ assert_equal "second mail", mail.body.strip
+ mail = FirstMailer.create_share(@recipient)
+ assert_equal "first mail", mail.body.strip
+ mail = SecondMailer.create_share(@recipient)
+ assert_equal "second mail", mail.body.strip
+ end
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/mail_service_test.rb b/vendor/rails-2.0.2/actionmailer/test/mail_service_test.rb
new file mode 100755
index 000000000..eb408f96c
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/mail_service_test.rb
@@ -0,0 +1,939 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+class FunkyPathMailer < ActionMailer::Base
+ self.template_root = "#{File.dirname(__FILE__)}/fixtures/path.with.dots"
+
+ def multipart_with_template_path_with_dots(recipient)
+ recipients recipient
+ subject "Have a lovely picture"
+ from "Chad Fowler <chad@chadfowler.com>"
+ attachment :content_type => "image/jpeg",
+ :body => "not really a jpeg, we're only testing, after all"
+ end
+end
+
+class TestMailer < ActionMailer::Base
+ def signed_up(recipient)
+ @recipients = recipient
+ @subject = "[Signed up] Welcome #{recipient}"
+ @from = "system@loudthinking.com"
+ @sent_on = Time.local(2004, 12, 12)
+ @body["recipient"] = recipient
+ end
+
+ def cancelled_account(recipient)
+ self.recipients = recipient
+ self.subject = "[Cancelled] Goodbye #{recipient}"
+ self.from = "system@loudthinking.com"
+ self.sent_on = Time.local(2004, 12, 12)
+ self.body = "Goodbye, Mr. #{recipient}"
+ end
+
+ def cc_bcc(recipient)
+ recipients recipient
+ subject "testing bcc/cc"
+ from "system@loudthinking.com"
+ sent_on Time.local(2004, 12, 12)
+ cc "nobody@loudthinking.com"
+ bcc "root@loudthinking.com"
+ body "Nothing to see here."
+ end
+
+ def iso_charset(recipient)
+ @recipients = recipient
+ @subject = "testing isø charsets"
+ @from = "system@loudthinking.com"
+ @sent_on = Time.local 2004, 12, 12
+ @cc = "nobody@loudthinking.com"
+ @bcc = "root@loudthinking.com"
+ @body = "Nothing to see here."
+ @charset = "iso-8859-1"
+ end
+
+ def unencoded_subject(recipient)
+ @recipients = recipient
+ @subject = "testing unencoded subject"
+ @from = "system@loudthinking.com"
+ @sent_on = Time.local 2004, 12, 12
+ @cc = "nobody@loudthinking.com"
+ @bcc = "root@loudthinking.com"
+ @body = "Nothing to see here."
+ end
+
+ def extended_headers(recipient)
+ @recipients = recipient
+ @subject = "testing extended headers"
+ @from = "Grytøyr <stian1@example.net>"
+ @sent_on = Time.local 2004, 12, 12
+ @cc = "Grytøyr <stian2@example.net>"
+ @bcc = "Grytøyr <stian3@example.net>"
+ @body = "Nothing to see here."
+ @charset = "iso-8859-1"
+ end
+
+ def utf8_body(recipient)
+ @recipients = recipient
+ @subject = "testing utf-8 body"
+ @from = "Foo áëô îü <extended@example.net>"
+ @sent_on = Time.local 2004, 12, 12
+ @cc = "Foo áëô îü <extended@example.net>"
+ @bcc = "Foo áëô îü <extended@example.net>"
+ @body = "åœö blah"
+ @charset = "utf-8"
+ end
+
+ def multipart_with_mime_version(recipient)
+ recipients recipient
+ subject "multipart with mime_version"
+ from "test@example.com"
+ sent_on Time.local(2004, 12, 12)
+ mime_version "1.1"
+ content_type "multipart/alternative"
+
+ part "text/plain" do |p|
+ p.body = "blah"
+ end
+
+ part "text/html" do |p|
+ p.body = "<b>blah</b>"
+ end
+ end
+
+ def multipart_with_utf8_subject(recipient)
+ recipients recipient
+ subject "Foo áëô îü"
+ from "test@example.com"
+ charset "utf-8"
+
+ part "text/plain" do |p|
+ p.body = "blah"
+ end
+
+ part "text/html" do |p|
+ p.body = "<b>blah</b>"
+ end
+ end
+
+ def explicitly_multipart_example(recipient, ct=nil)
+ recipients recipient
+ subject "multipart example"
+ from "test@example.com"
+ sent_on Time.local(2004, 12, 12)
+ body "plain text default"
+ content_type ct if ct
+
+ part "text/html" do |p|
+ p.charset = "iso-8859-1"
+ p.body = "blah"
+ end
+
+ attachment :content_type => "image/jpeg", :filename => "foo.jpg",
+ :body => "123456789"
+ end
+
+ def implicitly_multipart_example(recipient, cs = nil, order = nil)
+ @recipients = recipient
+ @subject = "multipart example"
+ @from = "test@example.com"
+ @sent_on = Time.local 2004, 12, 12
+ @body = { "recipient" => recipient }
+ @charset = cs if cs
+ @implicit_parts_order = order if order
+ end
+
+ def implicitly_multipart_with_utf8
+ recipients "no.one@nowhere.test"
+ subject "Foo áëô îü"
+ from "some.one@somewhere.test"
+ template "implicitly_multipart_example"
+ body ({ "recipient" => "no.one@nowhere.test" })
+ end
+
+ def html_mail(recipient)
+ recipients recipient
+ subject "html mail"
+ from "test@example.com"
+ body "<em>Emphasize</em> <strong>this</strong>"
+ content_type "text/html"
+ end
+
+ def html_mail_with_underscores(recipient)
+ subject "html mail with underscores"
+ body %{<a href="http://google.com" target="_blank">_Google</a>}
+ end
+
+ def custom_template(recipient)
+ recipients recipient
+ subject "[Signed up] Welcome #{recipient}"
+ from "system@loudthinking.com"
+ sent_on Time.local(2004, 12, 12)
+ template "signed_up"
+
+ body["recipient"] = recipient
+ end
+
+ def custom_templating_extension(recipient)
+ recipients recipient
+ subject "[Signed up] Welcome #{recipient}"
+ from "system@loudthinking.com"
+ sent_on Time.local(2004, 12, 12)
+
+ body["recipient"] = recipient
+ end
+
+ def various_newlines(recipient)
+ recipients recipient
+ subject "various newlines"
+ from "test@example.com"
+ body "line #1\nline #2\rline #3\r\nline #4\r\r" +
+ "line #5\n\nline#6\r\n\r\nline #7"
+ end
+
+ def various_newlines_multipart(recipient)
+ recipients recipient
+ subject "various newlines multipart"
+ from "test@example.com"
+ content_type "multipart/alternative"
+ part :content_type => "text/plain", :body => "line #1\nline #2\rline #3\r\nline #4\r\r"
+ part :content_type => "text/html", :body => "<p>line #1</p>\n<p>line #2</p>\r<p>line #3</p>\r\n<p>line #4</p>\r\r"
+ end
+
+ def nested_multipart(recipient)
+ recipients recipient
+ subject "nested multipart"
+ from "test@example.com"
+ content_type "multipart/mixed"
+ part :content_type => "multipart/alternative", :content_disposition => "inline", :headers => { "foo" => "bar" } do |p|
+ p.part :content_type => "text/plain", :body => "test text\nline #2"
+ p.part :content_type => "text/html", :body => "<b>test</b> HTML<br/>\nline #2"
+ end
+ attachment :content_type => "application/octet-stream",:filename => "test.txt", :body => "test abcdefghijklmnopqstuvwxyz"
+ end
+
+ def nested_multipart_with_body(recipient)
+ recipients recipient
+ subject "nested multipart with body"
+ from "test@example.com"
+ content_type "multipart/mixed"
+ part :content_type => "multipart/alternative", :content_disposition => "inline", :body => "Nothing to see here." do |p|
+ p.part :content_type => "text/html", :body => "<b>test</b> HTML<br/>"
+ end
+ end
+
+ def attachment_with_custom_header(recipient)
+ recipients recipient
+ subject "custom header in attachment"
+ from "test@example.com"
+ content_type "multipart/related"
+ part :content_type => "text/html", :body => 'yo'
+ attachment :content_type => "image/jpeg",:filename => "test.jpeg", :body => "i am not a real picture", :headers => { 'Content-ID' => '<test@test.com>' }
+ end
+
+ def unnamed_attachment(recipient)
+ recipients recipient
+ subject "nested multipart"
+ from "test@example.com"
+ content_type "multipart/mixed"
+ part :content_type => "text/plain", :body => "hullo"
+ attachment :content_type => "application/octet-stream", :body => "test abcdefghijklmnopqstuvwxyz"
+ end
+
+ def headers_with_nonalpha_chars(recipient)
+ recipients recipient
+ subject "nonalpha chars"
+ from "One: Two <test@example.com>"
+ cc "Three: Four <test@example.com>"
+ bcc "Five: Six <test@example.com>"
+ body "testing"
+ end
+
+ def custom_content_type_attributes
+ recipients "no.one@nowhere.test"
+ subject "custom content types"
+ from "some.one@somewhere.test"
+ content_type "text/plain; format=flowed"
+ body "testing"
+ end
+
+ def return_path
+ recipients "no.one@nowhere.test"
+ subject "return path test"
+ from "some.one@somewhere.test"
+ body "testing"
+ headers "return-path" => "another@somewhere.test"
+ end
+
+ class <<self
+ attr_accessor :received_body
+ end
+
+ def receive(mail)
+ self.class.received_body = mail.body
+ end
+end
+
+uses_mocha 'ActionMailerTest' do
+
+class ActionMailerTest < Test::Unit::TestCase
+ include ActionMailer::Quoting
+
+ def encode( text, charset="utf-8" )
+ quoted_printable( text, charset )
+ end
+
+ def new_mail( charset="utf-8" )
+ mail = TMail::Mail.new
+ mail.mime_version = "1.0"
+ if charset
+ mail.set_content_type "text", "plain", { "charset" => charset }
+ end
+ mail
+ end
+
+ # Replacing logger work around for mocha bug. Should be fixed in mocha 0.3.3
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.raise_delivery_errors = true
+ ActionMailer::Base.deliveries = []
+
+ @original_logger = TestMailer.logger
+ @recipient = 'test@localhost'
+ end
+
+ def teardown
+ TestMailer.logger = @original_logger
+ restore_delivery_method
+ end
+
+ def test_nested_parts
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_nested_multipart(@recipient)}
+ assert_equal 2,created.parts.size
+ assert_equal 2,created.parts.first.parts.size
+
+ assert_equal "multipart/mixed", created.content_type
+ assert_equal "multipart/alternative", created.parts.first.content_type
+ assert_equal "bar", created.parts.first.header['foo'].to_s
+ assert_equal "text/plain", created.parts.first.parts.first.content_type
+ assert_equal "text/html", created.parts.first.parts[1].content_type
+ assert_equal "application/octet-stream", created.parts[1].content_type
+ end
+
+ def test_nested_parts_with_body
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_nested_multipart_with_body(@recipient)}
+ assert_equal 1,created.parts.size
+ assert_equal 2,created.parts.first.parts.size
+
+ assert_equal "multipart/mixed", created.content_type
+ assert_equal "multipart/alternative", created.parts.first.content_type
+ assert_equal "Nothing to see here.", created.parts.first.parts.first.body
+ assert_equal "text/plain", created.parts.first.parts.first.content_type
+ assert_equal "text/html", created.parts.first.parts[1].content_type
+ end
+
+ def test_attachment_with_custom_header
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_attachment_with_custom_header(@recipient)}
+ assert_equal "<test@test.com>", created.parts[1].header['content-id'].to_s
+ end
+
+ def test_signed_up
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "[Signed up] Welcome #{@recipient}"
+ expected.body = "Hello there, \n\nMr. #{@recipient}"
+ expected.from = "system@loudthinking.com"
+ expected.date = Time.local(2004, 12, 12)
+
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_signed_up(@recipient) }
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised { TestMailer.deliver_signed_up(@recipient) }
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_custom_template
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "[Signed up] Welcome #{@recipient}"
+ expected.body = "Hello there, \n\nMr. #{@recipient}"
+ expected.from = "system@loudthinking.com"
+ expected.date = Time.local(2004, 12, 12)
+
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_custom_template(@recipient) }
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+ end
+
+ def test_custom_templating_extension
+ #
+ # N.b., custom_templating_extension.text.plain.haml is expected to be in fixtures/test_mailer directory
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "[Signed up] Welcome #{@recipient}"
+ expected.body = "Hello there, \n\nMr. #{@recipient}"
+ expected.from = "system@loudthinking.com"
+ expected.date = Time.local(2004, 12, 12)
+
+ # Stub the render method so no alternative renderers need be present.
+ ActionView::Base.any_instance.stubs(:render).returns("Hello there, \n\nMr. #{@recipient}")
+
+ # If the template is not registered, there should be no parts.
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_custom_templating_extension(@recipient) }
+ assert_not_nil created
+ assert_equal 0, created.parts.length
+
+ ActionMailer::Base.register_template_extension('haml')
+
+ # Now that the template is registered, there should be one part. The text/plain part.
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_custom_templating_extension(@recipient) }
+ assert_not_nil created
+ assert_equal 2, created.parts.length
+ assert_equal 'text/plain', created.parts[0].content_type
+ assert_equal 'text/html', created.parts[1].content_type
+ end
+
+ def test_cancelled_account
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "[Cancelled] Goodbye #{@recipient}"
+ expected.body = "Goodbye, Mr. #{@recipient}"
+ expected.from = "system@loudthinking.com"
+ expected.date = Time.local(2004, 12, 12)
+
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_cancelled_account(@recipient) }
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised { TestMailer.deliver_cancelled_account(@recipient) }
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_cc_bcc
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "testing bcc/cc"
+ expected.body = "Nothing to see here."
+ expected.from = "system@loudthinking.com"
+ expected.cc = "nobody@loudthinking.com"
+ expected.bcc = "root@loudthinking.com"
+ expected.date = Time.local 2004, 12, 12
+
+ created = nil
+ assert_nothing_raised do
+ created = TestMailer.create_cc_bcc @recipient
+ end
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised do
+ TestMailer.deliver_cc_bcc @recipient
+ end
+
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_iso_charset
+ expected = new_mail( "iso-8859-1" )
+ expected.to = @recipient
+ expected.subject = encode "testing isø charsets", "iso-8859-1"
+ expected.body = "Nothing to see here."
+ expected.from = "system@loudthinking.com"
+ expected.cc = "nobody@loudthinking.com"
+ expected.bcc = "root@loudthinking.com"
+ expected.date = Time.local 2004, 12, 12
+
+ created = nil
+ assert_nothing_raised do
+ created = TestMailer.create_iso_charset @recipient
+ end
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised do
+ TestMailer.deliver_iso_charset @recipient
+ end
+
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_unencoded_subject
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "testing unencoded subject"
+ expected.body = "Nothing to see here."
+ expected.from = "system@loudthinking.com"
+ expected.cc = "nobody@loudthinking.com"
+ expected.bcc = "root@loudthinking.com"
+ expected.date = Time.local 2004, 12, 12
+
+ created = nil
+ assert_nothing_raised do
+ created = TestMailer.create_unencoded_subject @recipient
+ end
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised do
+ TestMailer.deliver_unencoded_subject @recipient
+ end
+
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_instances_are_nil
+ assert_nil ActionMailer::Base.new
+ assert_nil TestMailer.new
+ end
+
+ def test_deliveries_array
+ assert_not_nil ActionMailer::Base.deliveries
+ assert_equal 0, ActionMailer::Base.deliveries.size
+ TestMailer.deliver_signed_up(@recipient)
+ assert_equal 1, ActionMailer::Base.deliveries.size
+ assert_not_nil ActionMailer::Base.deliveries.first
+ end
+
+ def test_perform_deliveries_flag
+ ActionMailer::Base.perform_deliveries = false
+ TestMailer.deliver_signed_up(@recipient)
+ assert_equal 0, ActionMailer::Base.deliveries.size
+ ActionMailer::Base.perform_deliveries = true
+ TestMailer.deliver_signed_up(@recipient)
+ assert_equal 1, ActionMailer::Base.deliveries.size
+ end
+
+ def test_doesnt_raise_errors_when_raise_delivery_errors_is_false
+ ActionMailer::Base.raise_delivery_errors = false
+ TestMailer.any_instance.expects(:perform_delivery_test).raises(Exception)
+ assert_nothing_raised { TestMailer.deliver_signed_up(@recipient) }
+ end
+
+ def test_performs_delivery_via_sendmail
+ sm = mock()
+ sm.expects(:print).with(anything)
+ sm.expects(:flush)
+ IO.expects(:popen).once.with('/usr/sbin/sendmail -i -t', 'w+').yields(sm)
+ ActionMailer::Base.delivery_method = :sendmail
+ TestMailer.deliver_signed_up(@recipient)
+ end
+
+ def test_delivery_logs_sent_mail
+ mail = TestMailer.create_signed_up(@recipient)
+ logger = mock()
+ logger.expects(:info).with("Sent mail:\n #{mail.encoded}")
+ TestMailer.logger = logger
+ TestMailer.deliver_signed_up(@recipient)
+ end
+
+ def test_unquote_quoted_printable_subject
+ msg = <<EOF
+From: me@example.com
+Subject: =?utf-8?Q?testing_testing_=D6=A4?=
+Content-Type: text/plain; charset=iso-8859-1
+
+The body
+EOF
+ mail = TMail::Mail.parse(msg)
+ assert_equal "testing testing \326\244", mail.subject
+ assert_equal "=?utf-8?Q?testing_testing_=D6=A4?=", mail.quoted_subject
+ end
+
+ def test_unquote_7bit_subject
+ msg = <<EOF
+From: me@example.com
+Subject: this == working?
+Content-Type: text/plain; charset=iso-8859-1
+
+The body
+EOF
+ mail = TMail::Mail.parse(msg)
+ assert_equal "this == working?", mail.subject
+ assert_equal "this == working?", mail.quoted_subject
+ end
+
+ def test_unquote_7bit_body
+ msg = <<EOF
+From: me@example.com
+Subject: subject
+Content-Type: text/plain; charset=iso-8859-1
+Content-Transfer-Encoding: 7bit
+
+The=3Dbody
+EOF
+ mail = TMail::Mail.parse(msg)
+ assert_equal "The=3Dbody", mail.body.strip
+ assert_equal "The=3Dbody", mail.quoted_body.strip
+ end
+
+ def test_unquote_quoted_printable_body
+ msg = <<EOF
+From: me@example.com
+Subject: subject
+Content-Type: text/plain; charset=iso-8859-1
+Content-Transfer-Encoding: quoted-printable
+
+The=3Dbody
+EOF
+ mail = TMail::Mail.parse(msg)
+ assert_equal "The=body", mail.body.strip
+ assert_equal "The=3Dbody", mail.quoted_body.strip
+ end
+
+ def test_unquote_base64_body
+ msg = <<EOF
+From: me@example.com
+Subject: subject
+Content-Type: text/plain; charset=iso-8859-1
+Content-Transfer-Encoding: base64
+
+VGhlIGJvZHk=
+EOF
+ mail = TMail::Mail.parse(msg)
+ assert_equal "The body", mail.body.strip
+ assert_equal "VGhlIGJvZHk=", mail.quoted_body.strip
+ end
+
+ def test_extended_headers
+ @recipient = "Grytøyr <test@localhost>"
+
+ expected = new_mail "iso-8859-1"
+ expected.to = quote_address_if_necessary @recipient, "iso-8859-1"
+ expected.subject = "testing extended headers"
+ expected.body = "Nothing to see here."
+ expected.from = quote_address_if_necessary "Grytøyr <stian1@example.net>", "iso-8859-1"
+ expected.cc = quote_address_if_necessary "Grytøyr <stian2@example.net>", "iso-8859-1"
+ expected.bcc = quote_address_if_necessary "Grytøyr <stian3@example.net>", "iso-8859-1"
+ expected.date = Time.local 2004, 12, 12
+
+ created = nil
+ assert_nothing_raised do
+ created = TestMailer.create_extended_headers @recipient
+ end
+
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised do
+ TestMailer.deliver_extended_headers @recipient
+ end
+
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
+ def test_utf8_body_is_not_quoted
+ @recipient = "Foo áëô îü <extended@example.net>"
+ expected = new_mail "utf-8"
+ expected.to = quote_address_if_necessary @recipient, "utf-8"
+ expected.subject = "testing utf-8 body"
+ expected.body = "åœö blah"
+ expected.from = quote_address_if_necessary @recipient, "utf-8"
+ expected.cc = quote_address_if_necessary @recipient, "utf-8"
+ expected.bcc = quote_address_if_necessary @recipient, "utf-8"
+ expected.date = Time.local 2004, 12, 12
+
+ created = TestMailer.create_utf8_body @recipient
+ assert_match(/åœö blah/, created.encoded)
+ end
+
+ def test_multiple_utf8_recipients
+ @recipient = ["\"Foo áëô îü\" <extended@example.net>", "\"Example Recipient\" <me@example.com>"]
+ expected = new_mail "utf-8"
+ expected.to = quote_address_if_necessary @recipient, "utf-8"
+ expected.subject = "testing utf-8 body"
+ expected.body = "åœö blah"
+ expected.from = quote_address_if_necessary @recipient.first, "utf-8"
+ expected.cc = quote_address_if_necessary @recipient, "utf-8"
+ expected.bcc = quote_address_if_necessary @recipient, "utf-8"
+ expected.date = Time.local 2004, 12, 12
+
+ created = TestMailer.create_utf8_body @recipient
+ assert_match(/\nFrom: =\?utf-8\?Q\?Foo_.*?\?= <extended@example.net>\r/, created.encoded)
+ assert_match(/\nTo: =\?utf-8\?Q\?Foo_.*?\?= <extended@example.net>, Example Recipient <me/, created.encoded)
+ end
+
+ def test_receive_decodes_base64_encoded_mail
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email")
+ TestMailer.receive(fixture)
+ assert_match(/Jamis/, TestMailer.received_body)
+ end
+
+ def test_receive_attachments
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email2")
+ mail = TMail::Mail.parse(fixture)
+ attachment = mail.attachments.last
+ assert_equal "smime.p7s", attachment.original_filename
+ assert_equal "application/pkcs7-signature", attachment.content_type
+ end
+
+ def test_decode_attachment_without_charset
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email3")
+ mail = TMail::Mail.parse(fixture)
+ attachment = mail.attachments.last
+ assert_equal 1026, attachment.read.length
+ end
+
+ def test_attachment_using_content_location
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email12")
+ mail = TMail::Mail.parse(fixture)
+ assert_equal 1, mail.attachments.length
+ assert_equal "Photo25.jpg", mail.attachments.first.original_filename
+ end
+
+ def test_attachment_with_text_type
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email13")
+ mail = TMail::Mail.parse(fixture)
+ assert mail.has_attachments?
+ assert_equal 1, mail.attachments.length
+ assert_equal "hello.rb", mail.attachments.first.original_filename
+ end
+
+ def test_decode_part_without_content_type
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email4")
+ mail = TMail::Mail.parse(fixture)
+ assert_nothing_raised { mail.body }
+ end
+
+ def test_decode_message_without_content_type
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email5")
+ mail = TMail::Mail.parse(fixture)
+ assert_nothing_raised { mail.body }
+ end
+
+ def test_decode_message_with_incorrect_charset
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email6")
+ mail = TMail::Mail.parse(fixture)
+ assert_nothing_raised { mail.body }
+ end
+
+ def test_multipart_with_mime_version
+ mail = TestMailer.create_multipart_with_mime_version(@recipient)
+ assert_equal "1.1", mail.mime_version
+ end
+
+ def test_multipart_with_utf8_subject
+ mail = TestMailer.create_multipart_with_utf8_subject(@recipient)
+ assert_match(/\nSubject: =\?utf-8\?Q\?Foo_.*?\?=/, mail.encoded)
+ end
+
+ def test_implicitly_multipart_with_utf8
+ mail = TestMailer.create_implicitly_multipart_with_utf8
+ assert_match(/\nSubject: =\?utf-8\?Q\?Foo_.*?\?=/, mail.encoded)
+ end
+
+ def test_explicitly_multipart_messages
+ mail = TestMailer.create_explicitly_multipart_example(@recipient)
+ assert_equal 3, mail.parts.length
+ assert_nil mail.content_type
+ assert_equal "text/plain", mail.parts[0].content_type
+
+ assert_equal "text/html", mail.parts[1].content_type
+ assert_equal "iso-8859-1", mail.parts[1].sub_header("content-type", "charset")
+ assert_equal "inline", mail.parts[1].content_disposition
+
+ assert_equal "image/jpeg", mail.parts[2].content_type
+ assert_equal "attachment", mail.parts[2].content_disposition
+ assert_equal "foo.jpg", mail.parts[2].sub_header("content-disposition", "filename")
+ assert_equal "foo.jpg", mail.parts[2].sub_header("content-type", "name")
+ assert_nil mail.parts[2].sub_header("content-type", "charset")
+ end
+
+ def test_explicitly_multipart_with_content_type
+ mail = TestMailer.create_explicitly_multipart_example(@recipient, "multipart/alternative")
+ assert_equal 3, mail.parts.length
+ assert_equal "multipart/alternative", mail.content_type
+ end
+
+ def test_explicitly_multipart_with_invalid_content_type
+ mail = TestMailer.create_explicitly_multipart_example(@recipient, "text/xml")
+ assert_equal 3, mail.parts.length
+ assert_nil mail.content_type
+ end
+
+ def test_implicitly_multipart_messages
+ mail = TestMailer.create_implicitly_multipart_example(@recipient)
+ assert_equal 6, mail.parts.length
+ assert_equal "1.0", mail.mime_version
+ assert_equal "multipart/alternative", mail.content_type
+ assert_equal "text/yaml", mail.parts[0].content_type
+ assert_equal "utf-8", mail.parts[0].sub_header("content-type", "charset")
+ assert_equal "text/plain", mail.parts[2].content_type
+ assert_equal "utf-8", mail.parts[2].sub_header("content-type", "charset")
+ assert_equal "text/html", mail.parts[4].content_type
+ assert_equal "utf-8", mail.parts[4].sub_header("content-type", "charset")
+ end
+
+ def test_implicitly_multipart_messages_with_custom_order
+ mail = TestMailer.create_implicitly_multipart_example(@recipient, nil, ["text/yaml", "text/plain"])
+ assert_equal 6, mail.parts.length
+ assert_equal "text/html", mail.parts[0].content_type
+ assert_equal "text/plain", mail.parts[2].content_type
+ assert_equal "text/yaml", mail.parts[4].content_type
+ end
+
+ def test_implicitly_multipart_messages_with_charset
+ mail = TestMailer.create_implicitly_multipart_example(@recipient, 'iso-8859-1')
+
+ assert_equal "multipart/alternative", mail.header['content-type'].body
+
+ assert_equal 'iso-8859-1', mail.parts[0].sub_header("content-type", "charset")
+ assert_equal 'iso-8859-1', mail.parts[1].sub_header("content-type", "charset")
+ assert_equal 'iso-8859-1', mail.parts[2].sub_header("content-type", "charset")
+ end
+
+ def test_html_mail
+ mail = TestMailer.create_html_mail(@recipient)
+ assert_equal "text/html", mail.content_type
+ end
+
+ def test_html_mail_with_underscores
+ mail = TestMailer.create_html_mail_with_underscores(@recipient)
+ assert_equal %{<a href="http://google.com" target="_blank">_Google</a>}, mail.body
+ end
+
+ def test_various_newlines
+ mail = TestMailer.create_various_newlines(@recipient)
+ assert_equal("line #1\nline #2\nline #3\nline #4\n\n" +
+ "line #5\n\nline#6\n\nline #7", mail.body)
+ end
+
+ def test_various_newlines_multipart
+ mail = TestMailer.create_various_newlines_multipart(@recipient)
+ assert_equal "line #1\nline #2\nline #3\nline #4\n\n", mail.parts[0].body
+ assert_equal "<p>line #1</p>\n<p>line #2</p>\n<p>line #3</p>\n<p>line #4</p>\n\n", mail.parts[1].body
+ end
+
+ def test_headers_removed_on_smtp_delivery
+ ActionMailer::Base.delivery_method = :smtp
+ TestMailer.deliver_cc_bcc(@recipient)
+ assert MockSMTP.deliveries[0][2].include?("root@loudthinking.com")
+ assert MockSMTP.deliveries[0][2].include?("nobody@loudthinking.com")
+ assert MockSMTP.deliveries[0][2].include?(@recipient)
+ assert_match %r{^Cc: nobody@loudthinking.com}, MockSMTP.deliveries[0][0]
+ assert_match %r{^To: #{@recipient}}, MockSMTP.deliveries[0][0]
+ assert_no_match %r{^Bcc: root@loudthinking.com}, MockSMTP.deliveries[0][0]
+ end
+
+ def test_recursive_multipart_processing
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email7")
+ mail = TMail::Mail.parse(fixture)
+ assert_equal "This is the first part.\n\nAttachment: test.rb\nAttachment: test.pdf\n\n\nAttachment: smime.p7s\n", mail.body
+ end
+
+ def test_decode_encoded_attachment_filename
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email8")
+ mail = TMail::Mail.parse(fixture)
+ attachment = mail.attachments.last
+ assert_equal "01QuienTeDijat.Pitbull.mp3", attachment.original_filename
+ end
+
+ def test_wrong_mail_header
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email9")
+ assert_raise(TMail::SyntaxError) { TMail::Mail.parse(fixture) }
+ end
+
+ def test_decode_message_with_unknown_charset
+ fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email10")
+ mail = TMail::Mail.parse(fixture)
+ assert_nothing_raised { mail.body }
+ end
+
+ def test_empty_header_values_omitted
+ result = TestMailer.create_unnamed_attachment(@recipient).encoded
+ assert_match %r{Content-Type: application/octet-stream[^;]}, result
+ assert_match %r{Content-Disposition: attachment[^;]}, result
+ end
+
+ def test_headers_with_nonalpha_chars
+ mail = TestMailer.create_headers_with_nonalpha_chars(@recipient)
+ assert !mail.from_addrs.empty?
+ assert !mail.cc_addrs.empty?
+ assert !mail.bcc_addrs.empty?
+ assert_match(/:/, mail.from_addrs.to_s)
+ assert_match(/:/, mail.cc_addrs.to_s)
+ assert_match(/:/, mail.bcc_addrs.to_s)
+ end
+
+ def test_deliver_with_mail_object
+ mail = TestMailer.create_headers_with_nonalpha_chars(@recipient)
+ assert_nothing_raised { TestMailer.deliver(mail) }
+ assert_equal 1, TestMailer.deliveries.length
+ end
+
+ def test_multipart_with_template_path_with_dots
+ mail = FunkyPathMailer.create_multipart_with_template_path_with_dots(@recipient)
+ assert_equal 2, mail.parts.length
+ end
+
+ def test_custom_content_type_attributes
+ mail = TestMailer.create_custom_content_type_attributes
+ assert_match %r{format=flowed}, mail['content-type'].to_s
+ assert_match %r{charset=utf-8}, mail['content-type'].to_s
+ end
+
+ def test_return_path_with_create
+ mail = TestMailer.create_return_path
+ assert_equal "<another@somewhere.test>", mail['return-path'].to_s
+ end
+
+ def test_return_path_with_deliver
+ ActionMailer::Base.delivery_method = :smtp
+ TestMailer.deliver_return_path
+ assert_match %r{^Return-Path: <another@somewhere.test>}, MockSMTP.deliveries[0][0]
+ end
+end
+
+end # uses_mocha
+
+class InheritableTemplateRootTest < Test::Unit::TestCase
+ def test_attr
+ expected = "#{File.dirname(__FILE__)}/fixtures/path.with.dots"
+ assert_equal expected, FunkyPathMailer.template_root
+
+ sub = Class.new(FunkyPathMailer)
+ sub.template_root = 'test/path'
+
+ assert_equal 'test/path', sub.template_root
+ assert_equal expected, FunkyPathMailer.template_root
+ end
+end
+
+class MethodNamingTest < Test::Unit::TestCase
+ class TestMailer < ActionMailer::Base
+ def send
+ body 'foo'
+ end
+ end
+
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_send_method
+ assert_nothing_raised do
+ assert_emails 1 do
+ TestMailer.deliver_send
+ end
+ end
+ end
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/quoting_test.rb b/vendor/rails-2.0.2/actionmailer/test/quoting_test.rb
new file mode 100644
index 000000000..14981571d
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/quoting_test.rb
@@ -0,0 +1,111 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+require 'tmail'
+require 'tempfile'
+
+class QuotingTest < Test::Unit::TestCase
+
+ # Move some tests from TMAIL here
+ def test_unquote_quoted_printable
+ a ="=?ISO-8859-1?Q?[166417]_Bekr=E6ftelse_fra_Rejsefeber?="
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
+ assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b
+ end
+
+ def test_unquote_base64
+ a ="=?ISO-8859-1?B?WzE2NjQxN10gQmVrcuZmdGVsc2UgZnJhIFJlanNlZmViZXI=?="
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
+ assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b
+ end
+
+ def test_unquote_without_charset
+ a ="[166417]_Bekr=E6ftelse_fra_Rejsefeber"
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
+ assert_equal "[166417]_Bekr=E6ftelse_fra_Rejsefeber", b
+ end
+
+ def test_unqoute_multiple
+ a ="=?utf-8?q?Re=3A_=5B12=5D_=23137=3A_Inkonsistente_verwendung_von_=22Hin?==?utf-8?b?enVmw7xnZW4i?="
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
+ assert_equal "Re: [12] #137: Inkonsistente verwendung von \"Hinzuf\303\274gen\"", b
+ end
+
+ def test_unqoute_in_the_middle
+ a ="Re: Photos =?ISO-8859-1?Q?Brosch=FCre_Rand?="
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
+ assert_equal "Re: Photos Brosch\303\274re Rand", b
+ end
+
+ def test_unqoute_iso
+ a ="=?ISO-8859-1?Q?Brosch=FCre_Rand?="
+ b = TMail::Unquoter.unquote_and_convert_to(a, 'iso-8859-1')
+ assert_equal "Brosch\374re Rand", b
+ end
+
+ def test_quote_multibyte_chars
+ original = "\303\246 \303\270 and \303\245"
+
+ result = execute_in_sandbox(<<-CODE)
+ $:.unshift(File.dirname(__FILE__) + "/../lib/")
+ $KCODE = 'u'
+ require 'jcode'
+ require 'action_mailer/quoting'
+ include ActionMailer::Quoting
+ quoted_printable(#{original.inspect}, "UTF-8")
+ CODE
+
+ unquoted = TMail::Unquoter.unquote_and_convert_to(result, nil)
+ assert_equal unquoted, original
+ end
+
+
+ # test an email that has been created using \r\n newlines, instead of
+ # \n newlines.
+ def test_email_quoted_with_0d0a
+ mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_quoted_with_0d0a"))
+ assert_match %r{Elapsed time}, mail.body
+ end
+
+ def test_email_with_partially_quoted_subject
+ mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_partially_quoted_subject"))
+ assert_equal "Re: Test: \"\346\274\242\345\255\227\" mid \"\346\274\242\345\255\227\" tail", mail.subject
+ end
+
+ def test_decode
+ encoded, decoded = expected_base64_strings
+ assert_equal decoded, TMail::Base64.decode(encoded)
+ end
+
+ def test_encode
+ encoded, decoded = expected_base64_strings
+ assert_equal encoded.length, TMail::Base64.encode(decoded).length
+ end
+
+ private
+
+ # This whole thing *could* be much simpler, but I don't think Tempfile,
+ # popen and others exist on all platforms (like Windows).
+ def execute_in_sandbox(code)
+ test_name = "#{File.dirname(__FILE__)}/am-quoting-test.#{$$}.rb"
+ res_name = "#{File.dirname(__FILE__)}/am-quoting-test.#{$$}.out"
+
+ File.open(test_name, "w+") do |file|
+ file.write(<<-CODE)
+ block = Proc.new do
+ #{code}
+ end
+ puts block.call
+ CODE
+ end
+
+ system("ruby #{test_name} > #{res_name}") or raise "could not run test in sandbox"
+ File.read(res_name).chomp
+ ensure
+ File.delete(test_name) rescue nil
+ File.delete(res_name) rescue nil
+ end
+
+ def expected_base64_strings
+ [ File.read("#{File.dirname(__FILE__)}/fixtures/raw_base64_encoded_string"), File.read("#{File.dirname(__FILE__)}/fixtures/raw_base64_decoded_string") ]
+ end
+end
+
diff --git a/vendor/rails-2.0.2/actionmailer/test/test_helper_test.rb b/vendor/rails-2.0.2/actionmailer/test/test_helper_test.rb
new file mode 100644
index 000000000..eb17e3e80
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/test_helper_test.rb
@@ -0,0 +1,117 @@
+require File.dirname(__FILE__) + '/abstract_unit'
+
+class TestHelperMailer < ActionMailer::Base
+ def test
+ recipients "test@example.com"
+ from "tester@example.com"
+ body render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" })
+ end
+end
+
+class TestHelperMailerTest < ActionMailer::TestCase
+
+ def test_setup_sets_right_action_mailer_options
+ assert_equal :test, ActionMailer::Base.delivery_method
+ assert ActionMailer::Base.perform_deliveries
+ assert_equal [], ActionMailer::Base.deliveries
+ end
+
+ def test_setup_creates_the_expected_mailer
+ assert @expected.is_a?(TMail::Mail)
+ assert_equal "1.0", @expected.mime_version
+ assert_equal "text/plain", @expected.content_type
+ end
+
+ def test_mailer_class_is_correctly_inferred
+ assert_equal TestHelperMailer, self.class.mailer_class
+ end
+
+ def test_determine_default_mailer_raises_correct_error
+ assert_raises(ActionMailer::NonInferrableMailerError) do
+ self.class.determine_default_mailer("NotAMailerTest")
+ end
+ end
+
+ def test_charset_is_utf_8
+ assert_equal "utf-8", charset
+ end
+
+ def test_encode
+ assert_equal "=?utf-8?Q?=0aasdf=0a?=", encode("\nasdf\n")
+ end
+
+ def test_assert_emails
+ assert_nothing_raised do
+ assert_emails 1 do
+ TestHelperMailer.deliver_test
+ end
+ end
+ end
+
+ def test_repeated_assert_emails_calls
+ assert_nothing_raised do
+ assert_emails 1 do
+ TestHelperMailer.deliver_test
+ end
+ end
+
+ assert_nothing_raised do
+ assert_emails 2 do
+ TestHelperMailer.deliver_test
+ TestHelperMailer.deliver_test
+ end
+ end
+ end
+
+ def test_assert_emails_with_no_block
+ assert_nothing_raised do
+ TestHelperMailer.deliver_test
+ assert_emails 1
+ end
+
+ assert_nothing_raised do
+ TestHelperMailer.deliver_test
+ TestHelperMailer.deliver_test
+ assert_emails 3
+ end
+ end
+
+ def test_assert_no_emails
+ assert_nothing_raised do
+ assert_no_emails do
+ TestHelperMailer.create_test
+ end
+ end
+ end
+
+ def test_assert_emails_too_few_sent
+ error = assert_raises Test::Unit::AssertionFailedError do
+ assert_emails 2 do
+ TestHelperMailer.deliver_test
+ end
+ end
+
+ assert_match /2 .* but 1/, error.message
+ end
+
+ def test_assert_emails_too_many_sent
+ error = assert_raises Test::Unit::AssertionFailedError do
+ assert_emails 1 do
+ TestHelperMailer.deliver_test
+ TestHelperMailer.deliver_test
+ end
+ end
+
+ assert_match /1 .* but 2/, error.message
+ end
+
+ def test_assert_no_emails_failure
+ error = assert_raises Test::Unit::AssertionFailedError do
+ assert_no_emails do
+ TestHelperMailer.deliver_test
+ end
+ end
+
+ assert_match /0 .* but 1/, error.message
+ end
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/tmail_test.rb b/vendor/rails-2.0.2/actionmailer/test/tmail_test.rb
new file mode 100644
index 000000000..b40d8945c
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/tmail_test.rb
@@ -0,0 +1,22 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+class TMailMailTest < Test::Unit::TestCase
+ def test_body
+ m = TMail::Mail.new
+ expected = 'something_with_underscores'
+ m.encoding = 'quoted-printable'
+ quoted_body = [expected].pack('*M')
+ m.body = quoted_body
+ assert_equal "something_with_underscores=\n", m.quoted_body
+ assert_equal expected, m.body
+ end
+
+ def test_nested_attachments_are_recognized_correctly
+ fixture = File.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_nested_attachment")
+ mail = TMail::Mail.parse(fixture)
+ assert_equal 2, mail.attachments.length
+ assert_equal "image/png", mail.attachments.first.content_type
+ assert_equal 1902, mail.attachments.first.length
+ assert_equal "application/pkcs7-signature", mail.attachments.last.content_type
+ end
+end
diff --git a/vendor/rails-2.0.2/actionmailer/test/url_test.rb b/vendor/rails-2.0.2/actionmailer/test/url_test.rb
new file mode 100644
index 000000000..564786962
--- /dev/null
+++ b/vendor/rails-2.0.2/actionmailer/test/url_test.rb
@@ -0,0 +1,76 @@
+require "#{File.dirname(__FILE__)}/abstract_unit"
+
+class TestMailer < ActionMailer::Base
+
+ default_url_options[:host] = 'www.basecamphq.com'
+
+ def signed_up_with_url(recipient)
+ @recipients = recipient
+ @subject = "[Signed up] Welcome #{recipient}"
+ @from = "system@loudthinking.com"
+ @sent_on = Time.local(2004, 12, 12)
+
+ @body["recipient"] = recipient
+ @body["welcome_url"] = url_for :host => "example.com", :controller => "welcome", :action => "greeting"
+ end
+
+ class <<self
+ attr_accessor :received_body
+ end
+
+ def receive(mail)
+ self.class.received_body = mail.body
+ end
+end
+
+class ActionMailerUrlTest < Test::Unit::TestCase
+ include ActionMailer::Quoting
+
+ def encode( text, charset="utf-8" )
+ quoted_printable( text, charset )
+ end
+
+ def new_mail( charset="utf-8" )
+ mail = TMail::Mail.new
+ mail.mime_version = "1.0"
+ if charset
+ mail.set_content_type "text", "plain", { "charset" => charset }
+ end
+ mail
+ end
+
+ def setup
+ set_delivery_method :test
+ ActionMailer::Base.perform_deliveries = true
+ ActionMailer::Base.deliveries = []
+
+ @recipient = 'test@localhost'
+ end
+
+ def teardown
+ restore_delivery_method
+ end
+
+ def test_signed_up_with_url
+ ActionController::Routing::Routes.draw do |map|
+ map.connect ':controller/:action/:id'
+ map.welcome 'welcome', :controller=>"foo", :action=>"bar"
+ end
+
+ expected = new_mail
+ expected.to = @recipient
+ expected.subject = "[Signed up] Welcome #{@recipient}"
+ 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\" />"
+ expected.from = "system@loudthinking.com"
+ expected.date = Time.local(2004, 12, 12)
+
+ created = nil
+ assert_nothing_raised { created = TestMailer.create_signed_up_with_url(@recipient) }
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised { TestMailer.deliver_signed_up_with_url(@recipient) }
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+end \ No newline at end of file