summaryrefslogtreecommitdiff
path: root/test/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers')
-rw-r--r--test/controllers/revisions_controller_test.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/controllers/revisions_controller_test.rb b/test/controllers/revisions_controller_test.rb
index 76d4e8c..e5726f7 100644
--- a/test/controllers/revisions_controller_test.rb
+++ b/test/controllers/revisions_controller_test.rb
@@ -168,4 +168,36 @@ class RevisionsControllerTest < ActionController::TestCase
168 assert_response :success 168 assert_response :success
169 assert_select "a[href=?]", node_path(@node) 169 assert_select "a[href=?]", node_path(@node)
170 end 170 end
171
172 test "diff defaults to a locale that actually changed, not the ambient default" do
173 login_as :quentin
174 node = Node.root.children.create!(:slug => "diff_default_locale_test")
175 node.draft.save!
176 node.publish_draft!
177
178 node.find_or_create_draft(@user)
179 Globalize.with_locale(:en) { node.draft.update!(:title => "Changed in English only") }
180 node.draft.save!
181
182 post(:diff, params: { :node_id => node.id, :start_revision => "head", :end_revision => "draft" })
183
184 assert_response :success
185 assert_match(/Changed/, response.body)
186 end
187
188 test "diff respects an explicitly requested locale over the auto-detected one" do
189 login_as :quentin
190 node = Node.root.children.create!(:slug => "diff_explicit_locale_test")
191 node.draft.save!
192 node.publish_draft!
193
194 node.find_or_create_draft(@user)
195 Globalize.with_locale(:en) { node.draft.update!(:title => "English changed") }
196 node.draft.save!
197
198 post(:diff, params: { :node_id => node.id, :start_revision => "head", :end_revision => "draft", :locale => "de" })
199
200 assert_response :success
201 assert_no_match(/English changed/, response.body)
202 end
171end 203end