Merge remote-tracking branch 'openstreetmap/pull/1030' into next
[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     stub_hostip_requests
9   end
10
11   def teardown
12     I18n.locale = "en"
13   end
14
15   def test_defaulting
16     user = users(:second_public_user)
17
18     post_via_redirect "/login", :username => user.email, :password => "test"
19
20     get "/diary/new", {}
21     assert_equal [], User.find(user.id).languages
22     assert_select "html[lang=?]", "en"
23
24     get "/diary/new", {}, { "HTTP_ACCEPT_LANGUAGE" => "fr, en" }
25     assert_equal %w(fr en), User.find(user.id).languages
26     assert_select "html[lang=?]", "fr"
27   end
28
29   def test_override
30     user = users(:german_user)
31
32     get "/diary"
33     assert_select "html[lang=?]", "en"
34
35     get "/diary", :locale => "es"
36     assert_select "html[lang=?]", "es"
37
38     post_via_redirect "/login", :username => user.email, :password => "test"
39
40     get "/diary"
41     assert_select "html[lang=?]", "de"
42
43     get "/diary", :locale => "fr"
44     assert_select "html[lang=?]", "fr"
45   end
46 end