diff options
Diffstat (limited to 'test/controllers/revisions_controller_test.rb')
| -rw-r--r-- | test/controllers/revisions_controller_test.rb | 32 |
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 | ||
| 171 | end | 203 | end |
