summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/repository/mercurial.rb4
-rw-r--r--test/functional/repositories_mercurial_controller_test.rb22
2 files changed, 26 insertions, 0 deletions
diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb
index d9d0806d1..c38236fc8 100644
--- a/app/models/repository/mercurial.rb
+++ b/app/models/repository/mercurial.rb
@@ -42,6 +42,10 @@ class Repository::Mercurial < Repository
changeset.scmid
end
+ def diff_format_revisions(cs, cs_to, sep=':')
+ super(cs, cs_to, ' ')
+ end
+
def entries(path=nil, identifier=nil)
entries=scm.entries(path, identifier)
if entries
diff --git a/test/functional/repositories_mercurial_controller_test.rb b/test/functional/repositories_mercurial_controller_test.rb
index 0a9ad3779..1afe42571 100644
--- a/test/functional/repositories_mercurial_controller_test.rb
+++ b/test/functional/repositories_mercurial_controller_test.rb
@@ -128,6 +128,9 @@ class RepositoriesMercurialControllerTest < ActionController::TestCase
end
def test_diff
+ @repository.fetch_changesets
+ @repository.reload
+
[4, '4', 'def6d2f1254a'].each do |r1|
# Full diff of changeset 4
get :diff, :id => 3, :rev => 4
@@ -141,6 +144,25 @@ class RepositoriesMercurialControllerTest < ActionController::TestCase
:sibling => { :tag => 'td',
:attributes => { :class => /diff_out/ },
:content => /def remove/ }
+ assert_tag :tag => 'h2', :content => /4:def6d2f1254a/
+ end
+ end
+ end
+
+ def test_diff_two_revs
+ @repository.fetch_changesets
+ @repository.reload
+
+ [2, '400bb8672109', '400', 400].each do |r1|
+ [4, 'def6d2f1254a'].each do |r2|
+ get :diff, :id => 3, :rev => r1,
+ :rev_to => r2
+ assert_response :success
+ assert_template 'diff'
+
+ diff = assigns(:diff)
+ assert_not_nil diff
+ assert_tag :tag => 'h2', :content => /4:def6d2f1254a 2:400bb8672109/
end
end
end