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
This commit is contained in:
Jean-Philippe Lang 2007-12-19 22:14:03 +00:00
parent a456225852
commit 3d5381b24b

View File

@ -35,83 +35,88 @@ class RepositoriesMercurialControllerTest < Test::Unit::TestCase
Repository::Mercurial.create(:project => Project.find(3), :url => REPOSITORY_PATH) Repository::Mercurial.create(:project => Project.find(3), :url => REPOSITORY_PATH)
end end
def test_show if File.directory?(REPOSITORY_PATH)
get :show, :id => 3 def test_show
assert_response :success get :show, :id => 3
assert_template 'show' assert_response :success
assert_not_nil assigns(:entries) assert_template 'show'
assert_not_nil assigns(:changesets) assert_not_nil assigns(:entries)
end 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_browse_root def test_diff
get :browse, :id => 3 # Full diff of changeset 4
assert_response :success get :diff, :id => 3, :rev => 4
assert_template 'browse' assert_response :success
assert_not_nil assigns(:entries) assert_template 'diff'
assert_equal 3, assigns(:entries).size # Line 22 removed
assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'} assert_tag :tag => 'th',
assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'} :content => /22/,
assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'} :sibling => { :tag => 'td',
end :attributes => { :class => /diff_out/ },
:content => /def remove/ }
def test_browse_directory end
get :browse, :id => 3, :path => ['images']
assert_response :success def test_annotate
assert_template 'browse' get :annotate, :id => 3, :path => ['sources', 'watchers_controller.rb']
assert_not_nil assigns(:entries) assert_response :success
assert_equal 2, assigns(:entries).size assert_template 'annotate'
entry = assigns(:entries).detect {|e| e.name == 'edit.png'} # Line 23, revision 4
assert_not_nil entry assert_tag :tag => 'th', :content => /23/,
assert_equal 'file', entry.kind :sibling => { :tag => 'td', :child => { :tag => 'a', :content => /4/ } },
assert_equal 'images/edit.png', entry.path :sibling => { :tag => 'td', :content => /jsmith/ },
end :sibling => { :tag => 'td', :content => /watcher =/ }
end
def test_changes else
get :changes, :id => 3, :path => ['images', 'edit.png'] puts "Mercurial test repository NOT FOUND. Skipping functional tests !!!"
assert_response :success def test_fake; assert true end
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
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 end
end end