1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

tests, define Rails.root before loading Action Mailer.

Since `bin/test` would define `Rails.root` before loading AM but `bundle
exec rake` would define it after loading AM, this lead to the following
test failure when using `bin/test`:

```
--- expected
+++ actual
@@ -1 +1 @@
-{:location=>"/var/folders/_r/9kh50y4j0vn7zgg2p65z1lcm0000gn/T/mails"}
+{:location=>"/Users/senny/Projects/rails/actionmailer/tmp/mails"}
```

This patch ensures that `Rails.root` is defined when loading AM to
achieve consistent test results.
This commit is contained in:
Yves Senn 2015-11-04 16:32:53 -05:00
parent 7b471dbf5b
commit a80fb6f9b3
2 changed files with 8 additions and 8 deletions

View file

@ -8,6 +8,12 @@ silence_warnings do
Encoding.default_external = "UTF-8" Encoding.default_external = "UTF-8"
end end
module Rails
def self.root
File.expand_path('../', File.dirname(__FILE__))
end
end
require 'active_support/testing/autorun' require 'active_support/testing/autorun'
require 'active_support/testing/method_call_assertions' require 'active_support/testing/method_call_assertions'
require 'action_mailer' require 'action_mailer'
@ -26,12 +32,6 @@ I18n.enforce_available_locales = false
FIXTURE_LOAD_PATH = File.expand_path('fixtures', File.dirname(__FILE__)) FIXTURE_LOAD_PATH = File.expand_path('fixtures', File.dirname(__FILE__))
ActionMailer::Base.view_paths = FIXTURE_LOAD_PATH ActionMailer::Base.view_paths = FIXTURE_LOAD_PATH
module Rails
def self.root
File.expand_path('../', File.dirname(__FILE__))
end
end
# Skips the current run on Rubinius using Minitest::Assertions#skip # Skips the current run on Rubinius using Minitest::Assertions#skip
def rubinius_skip(message = '') def rubinius_skip(message = '')
skip message if RUBY_ENGINE == 'rbx' skip message if RUBY_ENGINE == 'rbx'

View file

@ -31,8 +31,8 @@ class DefaultsDeliveryMethodsTest < ActiveSupport::TestCase
assert_equal settings, ActionMailer::Base.smtp_settings assert_equal settings, ActionMailer::Base.smtp_settings
end end
test "default file delivery settings" do test "default file delivery settings (with Rails.root)" do
settings = {location: "#{Dir.tmpdir}/mails"} settings = {location: "#{Rails.root}/tmp/mails"}
assert_equal settings, ActionMailer::Base.file_settings assert_equal settings, ActionMailer::Base.file_settings
end end