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