diff options
author | francis <francis> | 2008-01-23 01:48:14 +0000 |
---|---|---|
committer | francis <francis> | 2008-01-23 01:48:14 +0000 |
commit | 60eaae4f7df1f1dae91defb87d3707451c359cf4 (patch) | |
tree | e74835c37779a2f094e810960cda07b99a75330e /vendor/rails-2.0.2/actionmailer/test | |
parent | 71d22c740302e1f83bbbd89b229734ea9c67493c (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')
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 Binary files differnew file mode 100644 index 000000000..99b00ea16 --- /dev/null +++ b/vendor/rails-2.0.2/actionmailer/test/fixtures/raw_base64_decoded_string 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> </DIV> +<DIV><FONT face=3DArial size=3D2><STRONG>So there.</STRONG></FONT></DIV> +<DIV><FONT face=3DArial size=3D2></FONT> </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> </DIV> +<DIV><FONT face=3DArial size=3D2><STRONG>So there.</STRONG></FONT></DIV> +<DIV><FONT face=3DArial size=3D2></FONT> </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 |