summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2015-07-14 14:54:27 -0700
committerelijah <elijah@riseup.net>2015-07-14 14:54:27 -0700
commit8986b2ffdec389b59df4cb9eb48f2f0a0220b462 (patch)
treebbafabf606929a8b6eff1d4b3ed17d48b65cee5b
parentb08d4871dfa77f6fd41a53b51377033d96f47332 (diff)
fix i18n tests
-rw-r--r--app/controllers/application_controller.rb2
-rw-r--r--test/integration/locale_path_test.rb17
2 files changed, 13 insertions, 6 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 58e6f83..a4cbfb5 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -58,7 +58,7 @@ class ApplicationController < ActionController::Base
end
def default_url_options(options={})
- if request_may_have_locale?(request)
+ if request_may_have_locale?(request) && I18n.locale != I18n.default_locale
{ :locale => I18n.locale }
else
{ :locale => nil }
diff --git a/test/integration/locale_path_test.rb b/test/integration/locale_path_test.rb
index 2c43ab2..738e7f5 100644
--- a/test/integration/locale_path_test.rb
+++ b/test/integration/locale_path_test.rb
@@ -24,28 +24,35 @@ class LocalePathTest < ActionDispatch::IntegrationTest
test "redirect if accept-language is not default locale" do
get_via_redirect '/', {}, 'HTTP_ACCEPT_LANGUAGE' => 'de'
assert_equal '/de', path
- assert_equal({:locale => :de}, @controller.default_url_options)
+ assert_equal({:locale => :de}, default_url_options)
end
test "no locale prefix" do
get_via_redirect '/', {}, 'HTTP_ACCEPT_LANGUAGE' => 'en'
assert_equal '/', path
- assert_equal({:locale => nil}, @controller.default_url_options)
+ assert_equal({:locale => nil}, default_url_options)
get_via_redirect '/', {}, 'HTTP_ACCEPT_LANGUAGE' => 'pt'
assert_equal '/', path
- assert_equal({:locale => nil}, @controller.default_url_options)
+ assert_equal({:locale => nil}, default_url_options)
end
test "no redirect if locale explicit" do
get_via_redirect '/de', {}, 'HTTP_ACCEPT_LANGUAGE' => 'en'
assert_equal '/de', path
- assert_equal({:locale => :de}, @controller.default_url_options)
+ assert_equal({:locale => :de}, default_url_options)
end
test "strip prefix from url options if locale is default" do
get_via_redirect '/en', {}, 'HTTP_ACCEPT_LANGUAGE' => 'en'
assert_equal '/en', path
- assert_equal({:locale => nil}, @controller.default_url_options)
+ assert_equal({:locale => nil}, default_url_options)
end
+
+ protected
+
+ def default_url_options
+ @controller.send(:default_url_options)
+ end
+
end \ No newline at end of file