]> git.openstreetmap.org Git - rails.git/blobdiff - test/integration/page_locale_test.rb
Merge remote-tracking branch 'upstream/pull/5241'
[rails.git] / test / integration / page_locale_test.rb
index b42865ae48c6f8c7867cee7c7de55a355ce6a617..6f6d7779fc3ab420cb5f5a670254c3f2c5b523cc 100644 (file)
@@ -1,49 +1,45 @@
 require "test_helper"
 
 class PageLocaleTest < ActionDispatch::IntegrationTest
-  def setup
-    I18n.locale = "en"
-  end
-
-  def teardown
-    I18n.locale = "en"
-  end
-
   def test_defaulting
-    user = create(:user, :languages => [])
-
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => user.email, :password => "test" }
-    follow_redirect!
-
-    get "/diary/new"
-    assert_empty User.find(user.id).languages
-    assert_select "html[lang=?]", "en"
-
-    get "/diary/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => "fr, en" }
-    assert_equal %w[fr en], User.find(user.id).languages
-    assert_select "html[lang=?]", "fr"
+    I18n.with_locale "en" do
+      user = create(:user, :languages => [])
+
+      get "/login"
+      follow_redirect!
+      post "/login", :params => { :username => user.email, :password => "test" }
+      follow_redirect!
+
+      get "/diary/new"
+      assert_empty User.find(user.id).languages
+      assert_select "html[lang=?]", "en"
+
+      get "/diary/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => "fr, en" }
+      assert_equal %w[fr en], User.find(user.id).languages
+      assert_select "html[lang=?]", "fr"
+    end
   end
 
   def test_override
-    user = create(:user, :languages => ["de"])
+    I18n.with_locale "en" do
+      user = create(:user, :languages => ["de"])
 
-    get "/diary"
-    assert_select "html[lang=?]", "en"
+      get "/diary"
+      assert_select "html[lang=?]", "en"
 
-    get "/diary", :params => { :locale => "es" }
-    assert_select "html[lang=?]", "es"
+      get "/diary", :params => { :locale => "es" }
+      assert_select "html[lang=?]", "es"
 
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => user.email, :password => "test" }
-    follow_redirect!
+      get "/login"
+      follow_redirect!
+      post "/login", :params => { :username => user.email, :password => "test" }
+      follow_redirect!
 
-    get "/diary"
-    assert_select "html[lang=?]", "de"
+      get "/diary"
+      assert_select "html[lang=?]", "de"
 
-    get "/diary", :params => { :locale => "fr" }
-    assert_select "html[lang=?]", "fr"
+      get "/diary", :params => { :locale => "fr" }
+      assert_select "html[lang=?]", "fr"
+    end
   end
 end