45 lines
1,007 B
Ruby
45 lines
1,007 B
Ruby
require "test_helper"
|
|
|
|
class PageLocaleTest < 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
|