diff options
author | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-07-04 22:34:32 +0200 |
---|---|---|
committer | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-07-04 22:34:32 +0200 |
commit | 34bd1e95c7a08c9266fc99281417dad4a19cdf73 (patch) | |
tree | 3d90b7684fea80045f47f94b7bc6be6a32608e02 | |
parent | 8305d6759abe2b8511ccee35fd0998e6fb0dffd0 (diff) | |
download | rails-34bd1e95c7a08c9266fc99281417dad4a19cdf73.tar.gz rails-34bd1e95c7a08c9266fc99281417dad4a19cdf73.tar.bz2 rails-34bd1e95c7a08c9266fc99281417dad4a19cdf73.zip |
Reverting changes to ActionMailer
Revert "Experimental I18n charset support for ActionMailer"
This reverts commit 6982acb0793fb6e59f52cab4062344a88e3691ce.
Conflicts:
actionmailer/lib/action_mailer/base.rb
-rwxr-xr-x | actionmailer/lib/action_mailer.rb | 4 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 9 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/locale/en-US.rb | 3 | ||||
-rw-r--r-- | actionmailer/test/i18n_test.rb | 133 |
4 files changed, 0 insertions, 149 deletions
diff --git a/actionmailer/lib/action_mailer.rb b/actionmailer/lib/action_mailer.rb index 806edf1f9e..2e324d4637 100755 --- a/actionmailer/lib/action_mailer.rb +++ b/actionmailer/lib/action_mailer.rb @@ -49,8 +49,4 @@ ActionMailer::Base.class_eval do helper MailHelper end -I18n.backend.populate do - require 'action_mailer/locale/en-US.rb' -end - silence_warnings { TMail::Encoder.const_set("MAX_LINE_LEN", 200) } diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index f7da90d10f..b1f23583a6 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -344,15 +344,6 @@ module ActionMailer #:nodoc: # have multiple mailer methods share the same template. adv_attr_accessor :template - # Specify the charset to use for the message. - # It performs a lookup, on the specified charset, then on the charset from - # the current locale, and, finally, on the +default_charset+ specified - # for ActionMailer::Base. - def charset(charset = nil) - @charset ||= charset || I18n.translate(:charset) || @@default_charset - end - attr_writer :charset - # Override the mailer name, which defaults to an inflected version of the # mailer's class name. If you want to use a template in a non-standard # location, you can use this to specify that location. diff --git a/actionmailer/lib/action_mailer/locale/en-US.rb b/actionmailer/lib/action_mailer/locale/en-US.rb deleted file mode 100644 index 369f2d1a1c..0000000000 --- a/actionmailer/lib/action_mailer/locale/en-US.rb +++ /dev/null @@ -1,3 +0,0 @@ -I18n.backend.store_translations :'en-US', { - :charset => 'utf-8' -}
\ No newline at end of file diff --git a/actionmailer/test/i18n_test.rb b/actionmailer/test/i18n_test.rb deleted file mode 100644 index 92b128bce6..0000000000 --- a/actionmailer/test/i18n_test.rb +++ /dev/null @@ -1,133 +0,0 @@ -require 'abstract_unit' - -class I18nMailer < ActionMailer::Base - def use_locale_charset(recipient) - recipients recipient - subject "using locale charset" - from "tester@example.com" - body "x" - end - - def use_explicit_charset(recipient) - recipients recipient - subject "using explicit charset" - from "tester@example.com" - body "x" - charset "iso-8859-2" - end - - def multiparted(recipient) - recipients recipient - subject "Multiparted" - from "tester@example.com" - body "x" - - part "text/html" do |p| - p.body = "<b>multiparted iso-8859-1 html</b>" - end - - part :content_type => "text/plain", - :body => "multiparted utf-8 text", - :charset => 'utf-8' - end - - def rxml_template(recipient) - recipients recipient - subject "rendering rxml template" - from "tester@example.com" - end - - def initialize_defaults(method_name) - super - mailer_name "test_mailer" - end -end - -I18n.backend.store_translations :'en-GB', { } -I18n.backend.store_translations :'de-DE', { - :charset => 'iso-8859-1' -} - -class I18nTest < Test::Unit::TestCase - def setup - @charset = 'utf-8' - @recipient = 'test@localhost' - end - - def test_should_use_locale_charset - assert_equal @charset, mail.charset - end - - def test_should_use_default_charset_if_no_current_locale - uses_locale nil do - assert_equal @charset, mail.charset - end - end - - def test_mail_headers_should_contains_current_charset - uses_locale 'de-DE' do - assert_match /iso-8859-1/, mail.header['content-type'].body - end - end - - def test_should_use_charset_from_current_locale - uses_locale 'de-DE' do - assert_equal 'iso-8859-1', mail.charset - end - end - - def test_should_raise_exception_if_current_locale_doesnt_specify_a_charset - assert_raise I18n::MissingTranslationData do - uses_locale 'en-GB' do - mail - end - end - end - - def test_should_use_explicit_charset - assert_equal 'iso-8859-2', mail('use_explicit_charset').charset - end - - def test_mail_parts_charsets - uses_locale 'de-DE' do - charsets = mail('multiparted').parts.map(&:charset) - assert_equal 'iso-8859-1', charsets[0] - assert_equal 'iso-8859-1', charsets[1] - assert_equal 'utf-8', charsets[2] - end - end - - def test_mail_parts_headers - uses_locale 'de-DE' do - content_types = mail('multiparted').parts.map(&:header).map do |header| - header['content-type'].body - end - assert_match /iso-8859-1/, content_types[0] - assert_match /iso-8859-1/, content_types[1] - assert_match /utf-8/, content_types[2] - end - end - - # TODO: this case depends on XML Builder, - # should we pass Builder::XmlMarkup.new :encoding => charset_from_i18n ? - def _ignore_test_rxml_template_should_use_current_charset - uses_locale 'de-DE' do - assert_equal "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<test/>", - mail('rxml_template').body.strip - end - end - - private - def mail(method = 'use_locale_charset') - I18nMailer.__send__('create_' + method, @recipient) - end - - def uses_locale(locale, &block) - begin - I18n.locale = locale - yield - ensure - I18n.locale = I18n.default_locale - end - end -end |