Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Reverting changes to ActionMailer

Revert "Make sure ActionMailer use default charset if no defined by current locale"
This reverts commit d41e4c1.
  • Loading branch information...
commit 8305d6759abe2b8511ccee35fd0998e6fb0dffd0 1 parent 35bad50
@svenfuchs svenfuchs authored
View
4 actionmailer/lib/action_mailer/base.rb
@@ -346,10 +346,10 @@ class Base
# 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
View
26 actionmailer/test/i18n_test.rb
@@ -59,35 +59,37 @@ def test_should_use_locale_charset
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 @@ def test_mail_parts_charsets
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 @@ def test_mail_parts_headers
# 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 @@ def mail(method = 'use_locale_charset')
I18nMailer.__send__('create_' + method, @recipient)
end
- def with_locale(locale, &block)
+ def uses_locale(locale, &block)
begin
I18n.locale = locale
yield
Please sign in to comment.
Something went wrong with that request. Please try again.