|  | 1 |  | 
  | 1 | 2 | require File.dirname(__FILE__) + '/../../../../../test_helper' | 
  | 2 | 3 | begin | 
  | 3 | 4 |   require 'mocha' | 
  | ... | ... |  | 
  | 9 | 10 |     TEMPLATE_EXTENSION = Redmine::Scm::Adapters::MercurialAdapter::TEMPLATE_EXTENSION | 
  | 10 | 11 |      | 
  | 11 | 12 |     REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository' | 
  |  | 13 |  | 
  |  | 14 |     def setup | 
  |  | 15 |       @adapter = Redmine::Scm::Adapters::MercurialAdapter | 
  |  | 16 |     end | 
  | 12 | 17 |      | 
  | 13 | 18 |     def test_hgversion | 
  | 14 |  |       to_test = { "0.9.5" => [0,9,5], | 
  | 15 |  |                   "1.0" => [1,0], | 
  | 16 |  |                   "1e4ddc9ac9f7+20080325" => nil, | 
  | 17 |  |                   "1.0.1+20080525" => [1,0,1], | 
  | 18 |  |                   "1916e629a29d" => nil} | 
  |  | 19 |       to_test = { | 
  |  | 20 |                     "0.9.5"                 => [0,9,5], | 
  |  | 21 |                     "1.0"                   => [1,0], | 
  |  | 22 |                     "1e4ddc9ac9f7+20080325" => [], | 
  |  | 23 |                     "1.0.1+20080525"        => [1,0,1], | 
  |  | 24 |                     "1916e629a29d"          => [] , | 
  |  | 25 |                     "1.6"                   => [1,6], | 
  |  | 26 |                     "1.6.1"                 => [1,6,1], | 
  |  | 27 |                     "Mercurial Distributed SCM (version 1.6.3)" => [1,6,3], | 
  |  | 28 |                     ## Italian | 
  |  | 29 |                     # $ make local | 
  |  | 30 |                     # $ LANG=it ./hg --version | 
  |  | 31 |                     "Mercurial SCM Distribuito (versione 1.6.3+61-1c9bb7e00f71)" => [1,6,3], | 
  |  | 32 |                   } | 
  | 19 | 33 |        | 
  | 20 | 34 |       to_test.each do |s, v| | 
  | 21 | 35 |         test_hgversion_for(s, v) | 
  | ... | ... |  | 
  | 23 | 37 |     end | 
  | 24 | 38 |      | 
  | 25 | 39 |     def test_template_path | 
  | 26 |  |       to_test = { [0,9,5] => "0.9.5", | 
  | 27 |  |                   [1,0] => "1.0", | 
  | 28 |  |                   [] => "1.0", | 
  | 29 |  |                   [1,0,1] => "1.0"} | 
  |  | 40 |       to_test = { | 
  |  | 41 |                     [0,9,5] => "0.9.5", | 
  |  | 42 |                     [1,0]   => "1.0"  , | 
  |  | 43 |                     []      => "1.0"  , | 
  |  | 44 |                     [1,0,1] => "1.0"  , | 
  |  | 45 |                     [1,6]   => "1.0"  , | 
  |  | 46 |                     [1,6,1] => "1.0"  , | 
  |  | 47 |                   } | 
  | 30 | 48 |        | 
  | 31 | 49 |       to_test.each do |v, template| | 
  | 32 | 50 |         test_template_path_for(v, template) | 
  | ... | ... |  | 
  | 36 | 54 |     private | 
  | 37 | 55 |      | 
  | 38 | 56 |     def test_hgversion_for(hgversion, version) | 
  | 39 |  |       Redmine::Scm::Adapters::MercurialAdapter.expects(:hgversion_from_command_line).returns(hgversion) | 
  | 40 |  |       adapter = Redmine::Scm::Adapters::MercurialAdapter | 
  | 41 |  |       assert_equal version, adapter.hgversion | 
  |  | 57 |       @adapter.expects(:hgversion_from_command_line).returns(hgversion) | 
  |  | 58 |       assert_equal version, @adapter.hgversion | 
  | 42 | 59 |     end | 
  | 43 | 60 |      | 
  | 44 | 61 |     def test_template_path_for(version, template) | 
  | 45 |  |       adapter = Redmine::Scm::Adapters::MercurialAdapter | 
  | 46 |  |       assert_equal "#{TEMPLATES_DIR}/#{TEMPLATE_NAME}-#{template}.#{TEMPLATE_EXTENSION}", adapter.template_path_for(version) | 
  | 47 |  |       assert File.exist?(adapter.template_path_for(version)) | 
  |  | 62 |       assert_equal "#{TEMPLATES_DIR}/#{TEMPLATE_NAME}-#{template}.#{TEMPLATE_EXTENSION}", | 
  |  | 63 |                    @adapter.template_path_for(version) | 
  |  | 64 |       assert File.exist?(@adapter.template_path_for(version)) | 
  | 48 | 65 |     end | 
  | 49 | 66 |   end | 
  | 50 | 67 |    |