openstreetmap-website/test/integration/locale_test.rb

45 lines
1,004 B
Ruby

require "test_helper"
class LocaleTest < ActionDispatch::IntegrationTest
fixtures :users
def setup
I18n.locale = "en"
end
def teardown
I18n.locale = "en"
end
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