annotate test/unit/lib/redmine/scm/adapters/bazaar_adapter_test.rb @ 1176:7d9db6065048 bug_352

Close obsolete branch bug_352
author Chris Cannam
date Wed, 01 Feb 2012 16:09:00 +0000
parents cbce1fd3b1b7
children cbb26bc654de
rev   line source
Chris@245 1 require File.expand_path('../../../../../../test_helper', __FILE__)
Chris@245 2 begin
Chris@245 3 require 'mocha'
Chris@245 4
Chris@245 5 class BazaarAdapterTest < ActiveSupport::TestCase
Chris@245 6
Chris@245 7 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/bazaar_repository'
Chris@245 8 REPOSITORY_PATH.gsub!(/\/+/, '/')
Chris@245 9
Chris@441 10 if File.directory?(REPOSITORY_PATH)
Chris@245 11 def setup
Chris@245 12 @adapter = Redmine::Scm::Adapters::BazaarAdapter.new(REPOSITORY_PATH)
Chris@245 13 end
Chris@245 14
Chris@245 15 def test_scm_version
Chris@245 16 to_test = { "Bazaar (bzr) 2.1.2\n" => [2,1,2],
Chris@245 17 "2.1.1\n1.7\n1.8" => [2,1,1],
Chris@245 18 "2.0.1\r\n1.8.1\r\n1.9.1" => [2,0,1]}
Chris@245 19 to_test.each do |s, v|
Chris@245 20 test_scm_version_for(s, v)
Chris@245 21 end
Chris@245 22 end
Chris@245 23
Chris@245 24 def test_cat
Chris@245 25 cat = @adapter.cat('directory/document.txt')
Chris@245 26 assert cat =~ /Write the contents of a file as of a given revision to standard output/
Chris@245 27 end
Chris@441 28
Chris@245 29 def test_annotate
Chris@245 30 annotate = @adapter.annotate('doc-mkdir.txt')
Chris@245 31 assert_equal 17, annotate.lines.size
Chris@245 32 assert_equal '1', annotate.revisions[0].identifier
Chris@245 33 assert_equal 'jsmith@', annotate.revisions[0].author
Chris@245 34 assert_equal 'mkdir', annotate.lines[0]
Chris@245 35 end
Chris@245 36
Chris@245 37 private
Chris@245 38
Chris@245 39 def test_scm_version_for(scm_command_version, version)
Chris@245 40 @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
Chris@245 41 assert_equal version, @adapter.class.scm_command_version
Chris@245 42 end
Chris@245 43 else
Chris@245 44 puts "Bazaar test repository NOT FOUND. Skipping unit tests !!!"
Chris@245 45 def test_fake; assert true end
Chris@245 46 end
Chris@245 47 end
Chris@245 48 rescue LoadError
Chris@245 49 class BazaarMochaFake < ActiveSupport::TestCase
Chris@245 50 def test_fake; assert(false, "Requires mocha to run those tests") end
Chris@245 51 end
Chris@245 52 end