mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add I18n tests to engines.
This commit is contained in:
parent
25724c664d
commit
5cd9aad4fd
3 changed files with 40 additions and 56 deletions
|
@ -26,6 +26,8 @@ module I18n
|
|||
I18n.send("#{setting}=", value)
|
||||
end
|
||||
end
|
||||
|
||||
I18n.reload!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
require "isolation/abstract_unit"
|
||||
|
||||
module InitializerTests
|
||||
class InitializeI18nTest < Test::Unit::TestCase
|
||||
include ActiveSupport::Testing::Isolation
|
||||
|
||||
def setup
|
||||
build_app
|
||||
boot_rails
|
||||
end
|
||||
|
||||
# test_config_defaults_and_settings_should_be_added_to_i18n_defaults
|
||||
test "i18n config defaults and settings should be added to i18n defaults" do
|
||||
add_to_config <<-RUBY
|
||||
config.root = "#{app_path}"
|
||||
config.i18n.load_path << "my/other/locale.yml"
|
||||
RUBY
|
||||
|
||||
require "#{app_path}/config/environment"
|
||||
|
||||
#{RAILS_FRAMEWORK_ROOT}/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml
|
||||
assert_equal %W(
|
||||
#{RAILS_FRAMEWORK_ROOT}/activesupport/lib/active_support/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/activemodel/lib/active_model/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/activerecord/lib/active_record/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/actionpack/lib/action_view/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/railties/tmp/app/config/locales/en.yml
|
||||
my/other/locale.yml
|
||||
).map { |path| File.expand_path(path) }, I18n.load_path.map { |path| File.expand_path(path) }
|
||||
end
|
||||
|
||||
test "i18n finds locale files in engines" do
|
||||
# app_file "vendor/plugins/engine/init.rb", ""
|
||||
# app_file "vendor/plugins/engine/app/models/hellos.rb", "class Hello ; end"
|
||||
# app_file "vendor/plugins/engine/lib/omg.rb", "puts 'omg'"
|
||||
# app_file "vendor/plugins/engine/config/locales/en.yml", "hello:"
|
||||
#
|
||||
# Rails::Initializer.run do |c|
|
||||
# c.root = app_path
|
||||
# c.i18n.load_path << "my/other/locale.yml"
|
||||
# end
|
||||
# Rails.initialize!
|
||||
#
|
||||
# #{RAILS_FRAMEWORK_ROOT}/railties/test/fixtures/plugins/engines/engine/config/locales/en.yml
|
||||
# assert_equal %W(
|
||||
# #{RAILS_FRAMEWORK_ROOT}/activesupport/lib/active_support/locale/en.yml
|
||||
# #{RAILS_FRAMEWORK_ROOT}/activemodel/lib/active_model/locale/en.yml
|
||||
# #{RAILS_FRAMEWORK_ROOT}/activerecord/lib/active_record/locale/en.yml
|
||||
# #{RAILS_FRAMEWORK_ROOT}/actionpack/lib/action_view/locale/en.yml
|
||||
# #{app_path}/config/locales/en.yml
|
||||
# my/other/locale.yml
|
||||
# #{app_path}/vendor/plugins/engine/config/locales/en.yml
|
||||
# ).map { |path| File.expand_path(path) }, I18n.load_path.map { |path| File.expand_path(path) }
|
||||
end
|
||||
end
|
||||
end
|
|
@ -179,6 +179,44 @@ module PluginsTest
|
|||
Rake::Task[:foo].invoke
|
||||
assert $executed
|
||||
end
|
||||
|
||||
test "i18n files are added with lower priority than application ones" do
|
||||
add_to_config <<-RUBY
|
||||
config.i18n.load_path << "#{app_path}/app/locales/en.yml"
|
||||
RUBY
|
||||
|
||||
app_file 'app/locales/en.yml', <<-YAML
|
||||
en:
|
||||
bar: "1"
|
||||
YAML
|
||||
|
||||
app_file 'config/locales/en.yml', <<-YAML
|
||||
en:
|
||||
foo: "2"
|
||||
bar: "2"
|
||||
YAML
|
||||
|
||||
@plugin.write 'config/locales/en.yml', <<-YAML
|
||||
en:
|
||||
foo: "3"
|
||||
YAML
|
||||
|
||||
boot_rails
|
||||
require "#{app_path}/config/environment"
|
||||
|
||||
assert_equal %W(
|
||||
#{RAILS_FRAMEWORK_ROOT}/activesupport/lib/active_support/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/activemodel/lib/active_model/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/activerecord/lib/active_record/locale/en.yml
|
||||
#{RAILS_FRAMEWORK_ROOT}/actionpack/lib/action_view/locale/en.yml
|
||||
#{app_path}/vendor/plugins/bukkits/config/locales/en.yml
|
||||
#{app_path}/config/locales/en.yml
|
||||
#{app_path}/app/locales/en.yml
|
||||
).map { |path| File.expand_path(path) }, I18n.load_path.map { |path| File.expand_path(path) }
|
||||
|
||||
assert_equal "2", I18n.t(:foo)
|
||||
assert_equal "1", I18n.t(:bar)
|
||||
end
|
||||
end
|
||||
|
||||
class VendoredOrderingTest < Test::Unit::TestCase
|
||||
|
|
Loading…
Reference in a new issue