From 3d5381b24bb488e4e9edd5a9eec2ba8be4de5c63 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 19 Dec 2007 22:14:03 +0000 Subject: [PATCH] Do not run Mercurial functional tests if the test repository is not set up. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1019 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- .../repositories_mercurial_controller_test.rb | 159 +++++++++--------- 1 file changed, 82 insertions(+), 77 deletions(-) diff --git a/test/functional/repositories_mercurial_controller_test.rb b/test/functional/repositories_mercurial_controller_test.rb index db0029017..736e38c83 100644 --- a/test/functional/repositories_mercurial_controller_test.rb +++ b/test/functional/repositories_mercurial_controller_test.rb @@ -35,83 +35,88 @@ class RepositoriesMercurialControllerTest < Test::Unit::TestCase Repository::Mercurial.create(:project => Project.find(3), :url => REPOSITORY_PATH) end - def test_show - get :show, :id => 3 - assert_response :success - assert_template 'show' - assert_not_nil assigns(:entries) - assert_not_nil assigns(:changesets) - end - - def test_browse_root - get :browse, :id => 3 - assert_response :success - assert_template 'browse' - assert_not_nil assigns(:entries) - assert_equal 3, assigns(:entries).size - assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'} - assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'} - assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'} - end - - def test_browse_directory - get :browse, :id => 3, :path => ['images'] - assert_response :success - assert_template 'browse' - assert_not_nil assigns(:entries) - assert_equal 2, assigns(:entries).size - entry = assigns(:entries).detect {|e| e.name == 'edit.png'} - assert_not_nil entry - assert_equal 'file', entry.kind - assert_equal 'images/edit.png', entry.path - end - - def test_changes - get :changes, :id => 3, :path => ['images', 'edit.png'] - assert_response :success - assert_template 'changes' - assert_tag :tag => 'h2', :content => 'edit.png' - end - - def test_entry_show - get :entry, :id => 3, :path => ['sources', 'watchers_controller.rb'] - assert_response :success - assert_template 'entry' - # Line 19 - assert_tag :tag => 'th', - :content => /10/, - :attributes => { :class => /line-num/ }, - :sibling => { :tag => 'td', :content => /WITHOUT ANY WARRANTY/ } - end - - def test_entry_download - get :entry, :id => 3, :path => ['sources', 'watchers_controller.rb'], :format => 'raw' - assert_response :success - # File content - assert @response.body.include?('WITHOUT ANY WARRANTY') - end - - def test_diff - # Full diff of changeset 4 - get :diff, :id => 3, :rev => 4 - assert_response :success - assert_template 'diff' - # Line 22 removed - assert_tag :tag => 'th', - :content => /22/, - :sibling => { :tag => 'td', - :attributes => { :class => /diff_out/ }, - :content => /def remove/ } - end + if File.directory?(REPOSITORY_PATH) + def test_show + get :show, :id => 3 + assert_response :success + assert_template 'show' + assert_not_nil assigns(:entries) + assert_not_nil assigns(:changesets) + end + + def test_browse_root + get :browse, :id => 3 + assert_response :success + assert_template 'browse' + assert_not_nil assigns(:entries) + assert_equal 3, assigns(:entries).size + assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'} + assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'} + assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'} + end + + def test_browse_directory + get :browse, :id => 3, :path => ['images'] + assert_response :success + assert_template 'browse' + assert_not_nil assigns(:entries) + assert_equal 2, assigns(:entries).size + entry = assigns(:entries).detect {|e| e.name == 'edit.png'} + assert_not_nil entry + assert_equal 'file', entry.kind + assert_equal 'images/edit.png', entry.path + end + + def test_changes + get :changes, :id => 3, :path => ['images', 'edit.png'] + assert_response :success + assert_template 'changes' + assert_tag :tag => 'h2', :content => 'edit.png' + end + + def test_entry_show + get :entry, :id => 3, :path => ['sources', 'watchers_controller.rb'] + assert_response :success + assert_template 'entry' + # Line 19 + assert_tag :tag => 'th', + :content => /10/, + :attributes => { :class => /line-num/ }, + :sibling => { :tag => 'td', :content => /WITHOUT ANY WARRANTY/ } + end + + def test_entry_download + get :entry, :id => 3, :path => ['sources', 'watchers_controller.rb'], :format => 'raw' + assert_response :success + # File content + assert @response.body.include?('WITHOUT ANY WARRANTY') + end - def test_annotate - get :annotate, :id => 3, :path => ['sources', 'watchers_controller.rb'] - assert_response :success - assert_template 'annotate' - # Line 23, revision 4 - assert_tag :tag => 'th', :content => /23/, - :sibling => { :tag => 'td', :child => { :tag => 'a', :content => /4/ } }, - :sibling => { :tag => 'td', :content => /jsmith/ }, - :sibling => { :tag => 'td', :content => /watcher =/ } + def test_diff + # Full diff of changeset 4 + get :diff, :id => 3, :rev => 4 + assert_response :success + assert_template 'diff' + # Line 22 removed + assert_tag :tag => 'th', + :content => /22/, + :sibling => { :tag => 'td', + :attributes => { :class => /diff_out/ }, + :content => /def remove/ } + end + + def test_annotate + get :annotate, :id => 3, :path => ['sources', 'watchers_controller.rb'] + assert_response :success + assert_template 'annotate' + # Line 23, revision 4 + assert_tag :tag => 'th', :content => /23/, + :sibling => { :tag => 'td', :child => { :tag => 'a', :content => /4/ } }, + :sibling => { :tag => 'td', :content => /jsmith/ }, + :sibling => { :tag => 'td', :content => /watcher =/ } + end + else + puts "Mercurial test repository NOT FOUND. Skipping functional tests !!!" + def test_fake; assert true end end end -- 2.39.5