Mercurial > hg > soundsoftware-site
diff test/unit/.svn/text-base/repository_mercurial_test.rb.svn-base @ 117:af80e5618e9b redmine-1.1
* Update to Redmine 1.1-stable branch (Redmine SVN rev 4707)
author | Chris Cannam |
---|---|
date | Thu, 13 Jan 2011 12:53:21 +0000 |
parents | 513646585e45 |
children | cd2282d2aa55 |
line wrap: on
line diff
--- a/test/unit/.svn/text-base/repository_mercurial_test.rb.svn-base Fri Nov 19 14:05:24 2010 +0000 +++ b/test/unit/.svn/text-base/repository_mercurial_test.rb.svn-base Thu Jan 13 12:53:21 2011 +0000 @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -require File.dirname(__FILE__) + '/../test_helper' +require File.expand_path('../../test_helper', __FILE__) class RepositoryMercurialTest < ActiveSupport::TestCase fixtures :projects @@ -33,8 +33,8 @@ @repository.fetch_changesets @repository.reload - assert_equal 6, @repository.changesets.count - assert_equal 11, @repository.changes.count + assert_equal 17, @repository.changesets.count + assert_equal 25, @repository.changes.count assert_equal "Initial import.\nThe repository contains 3 files.", @repository.changesets.find_by_revision('0').comments end @@ -46,7 +46,7 @@ assert_equal 3, @repository.changesets.count @repository.fetch_changesets - assert_equal 6, @repository.changesets.count + assert_equal 17, @repository.changesets.count end def test_entries @@ -55,19 +55,73 @@ end def test_locate_on_outdated_repository - # Change the working dir state - %x{hg -R #{REPOSITORY_PATH} up -r 0} assert_equal 1, @repository.entries("images", 0).size assert_equal 2, @repository.entries("images").size assert_equal 2, @repository.entries("images", 2).size end - - def test_cat - assert @repository.scm.cat("sources/welcome_controller.rb", 2) - assert_nil @repository.scm.cat("sources/welcome_controller.rb") + def test_isodatesec + # Template keyword 'isodatesec' supported in Mercurial 1.0 and higher + if @repository.scm.class.client_version_above?([1, 0]) + @repository.fetch_changesets + @repository.reload + rev0_committed_on = Time.gm(2007, 12, 14, 9, 22, 52) + assert_equal @repository.changesets.find_by_revision('0').committed_on, rev0_committed_on + end end + def test_changeset_order_by_revision + @repository.fetch_changesets + @repository.reload + + c0 = @repository.latest_changeset + c1 = @repository.changesets.find_by_revision('0') + # sorted by revision (id), not by date + assert c0.revision.to_i > c1.revision.to_i + assert c0.committed_on < c1.committed_on + end + + def test_latest_changesets + @repository.fetch_changesets + @repository.reload + + # with_limit + changesets = @repository.latest_changesets('', nil, 2) + assert_equal @repository.latest_changesets('', nil)[0, 2], changesets + + # with_filepath + changesets = @repository.latest_changesets('/sql_escape/percent%dir/percent%file1.txt', nil) + assert_equal %w|11 10 9|, changesets.collect(&:revision) + + changesets = @repository.latest_changesets('/sql_escape/underscore_dir/understrike_file.txt', nil) + assert_equal %w|12 9|, changesets.collect(&:revision) + end + + def test_copied_files + @repository.fetch_changesets + @repository.reload + + cs1 = @repository.changesets.find_by_revision('13') + assert_not_nil cs1 + c1 = cs1.changes.sort_by(&:path) + assert_equal 2, c1.size + + assert_equal 'A', c1[0].action + assert_equal '/sql_escape/percent%dir/percentfile1.txt', c1[0].path + assert_equal '/sql_escape/percent%dir/percent%file1.txt', c1[0].from_path + + assert_equal 'A', c1[1].action + assert_equal '/sql_escape/underscore_dir/understrike-file.txt', c1[1].path + assert_equal '/sql_escape/underscore_dir/understrike_file.txt', c1[1].from_path + + cs2 = @repository.changesets.find_by_revision('15') + c2 = cs2.changes + assert_equal 1, c2.size + + assert_equal 'A', c2[0].action + assert_equal '/README (1)[2]&,%.-3_4', c2[0].path + assert_equal '/README', c2[0].from_path + end else puts "Mercurial test repository NOT FOUND. Skipping unit tests !!!" def test_fake; assert true end