diff options
author | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-07-04 22:26:53 +0200 |
---|---|---|
committer | Sven Fuchs <svenfuchs@artweb-design.de> | 2008-07-04 22:26:53 +0200 |
commit | 8305d6759abe2b8511ccee35fd0998e6fb0dffd0 (patch) | |
tree | 1455f973b55eda3591b56367e870c12a5ae7378e /actionmailer | |
parent | 35bad508162d4bdbc0c24e11db89cfe16159183e (diff) | |
download | rails-8305d6759abe2b8511ccee35fd0998e6fb0dffd0.tar.gz rails-8305d6759abe2b8511ccee35fd0998e6fb0dffd0.tar.bz2 rails-8305d6759abe2b8511ccee35fd0998e6fb0dffd0.zip |
Reverting changes to ActionMailer
Revert "Make sure ActionMailer use default charset if no defined by current locale"
This reverts commit d41e4c1c3d6e6259f1cfc0cdbd4fc30fee0f866a.
Diffstat (limited to 'actionmailer')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 4 | ||||
-rw-r--r-- | actionmailer/test/i18n_test.rb | 26 |
2 files changed, 16 insertions, 14 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index a1a7f55d2b..f7da90d10f 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -346,10 +346,10 @@ module ActionMailer #:nodoc: # 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, in the end, on the +default_charset+ specified + # the current locale, and, finally, on the +default_charset+ specified # for ActionMailer::Base. def charset(charset = nil) - @charset ||= charset || I18n.translate(:charset, :default => @@default_charset) + @charset ||= charset || I18n.translate(:charset) || @@default_charset end attr_writer :charset diff --git a/actionmailer/test/i18n_test.rb b/actionmailer/test/i18n_test.rb index a775128519..92b128bce6 100644 --- a/actionmailer/test/i18n_test.rb +++ b/actionmailer/test/i18n_test.rb @@ -59,35 +59,37 @@ class I18nTest < Test::Unit::TestCase end def test_should_use_default_charset_if_no_current_locale - with_locale nil do + uses_locale nil do assert_equal @charset, mail.charset end end def test_mail_headers_should_contains_current_charset - with_locale 'de-DE' do + 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 - with_locale 'de-DE' do + uses_locale 'de-DE' do assert_equal 'iso-8859-1', mail.charset end end - - def test_should_use_default_charset_if_missing_for_current_locale - with_locale 'en-GB' do - assert_equal @charset, mail.charset + + 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 - with_locale 'de-DE' do + 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] @@ -96,7 +98,7 @@ class I18nTest < Test::Unit::TestCase end def test_mail_parts_headers - with_locale 'de-DE' do + uses_locale 'de-DE' do content_types = mail('multiparted').parts.map(&:header).map do |header| header['content-type'].body end @@ -109,7 +111,7 @@ class I18nTest < Test::Unit::TestCase # 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 - with_locale 'de-DE' do + uses_locale 'de-DE' do assert_equal "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<test/>", mail('rxml_template').body.strip end @@ -120,7 +122,7 @@ class I18nTest < Test::Unit::TestCase I18nMailer.__send__('create_' + method, @recipient) end - def with_locale(locale, &block) + def uses_locale(locale, &block) begin I18n.locale = locale yield |