X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/6e3d183c40a6b5c0d01352531e00d577e314c98c..21d60e359a6e972731e0385c51dd86536b7ea777:/test/integration/locale_test.rb?ds=sidebyside diff --git a/test/integration/locale_test.rb b/test/integration/locale_test.rb new file mode 100644 index 000000000..fbc2aff0e --- /dev/null +++ b/test/integration/locale_test.rb @@ -0,0 +1,37 @@ +require "test_helper" + +class LocaleTest < ActionDispatch::IntegrationTest + fixtures :users + + def test_defaulting + user = users(:second_public_user) + + post_via_redirect "/login", :username => user.email, :password => "test" + + get "/diary/new", {} + assert_equal [], User.find(user.id).languages + assert_select "html[lang=?]", "en" + + get "/diary/new", {}, { "HTTP_ACCEPT_LANGUAGE" => "fr, en" } + assert_equal %w(fr en), User.find(user.id).languages + assert_select "html[lang=?]", "fr" + end + + def test_override + user = users(:german_user) + + get "/diary" + assert_select "html[lang=?]", "en" + + get "/diary", :locale => "es" + assert_select "html[lang=?]", "es" + + post_via_redirect "/login", :username => user.email, :password => "test" + + get "/diary" + assert_select "html[lang=?]", "de" + + get "/diary", :locale => "fr" + assert_select "html[lang=?]", "fr" + end +end