Merge remote-tracking branch 'openstreetmap/pull/1330'
[rails.git] / test / integration / page_locale_test.rb
1 require "test_helper"
2
3 class PageLocaleTest < ActionDispatch::IntegrationTest
4   fixtures :users
5
6   def setup
7     I18n.locale = "en"
8   end
9
10   def teardown
11     I18n.locale = "en"
12   end
13
14   def test_defaulting
15     user = users(:second_public_user)
16
17     post_via_redirect "/login", :username => user.email, :password => "test"
18
19     get "/diary/new", {}
20     assert_equal [], User.find(user.id).languages
21     assert_select "html[lang=?]", "en"
22
23     get "/diary/new", {}, { "HTTP_ACCEPT_LANGUAGE" => "fr, en" }
24     assert_equal %w(fr en), User.find(user.id).languages
25     assert_select "html[lang=?]", "fr"
26   end
27
28   def test_override
29     user = users(:german_user)
30
31     get "/diary"
32     assert_select "html[lang=?]", "en"
33
34     get "/diary", :locale => "es"
35     assert_select "html[lang=?]", "es"
36
37     post_via_redirect "/login", :username => user.email, :password => "test"
38
39     get "/diary"
40     assert_select "html[lang=?]", "de"
41
42     get "/diary", :locale => "fr"
43     assert_select "html[lang=?]", "fr"
44   end
45 end