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