]> source.dussan.org Git - redmine.git/commitdiff
Removes calls to #assert_template and #assigns in functional tests.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 21 Jul 2016 17:48:05 +0000 (17:48 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 21 Jul 2016 17:48:05 +0000 (17:48 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@15725 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/repositories_bazaar_controller_test.rb
test/functional/repositories_controller_test.rb
test/functional/repositories_cvs_controller_test.rb
test/functional/repositories_darcs_controller_test.rb
test/functional/repositories_filesystem_controller_test.rb
test/functional/repositories_git_controller_test.rb
test/functional/repositories_mercurial_controller_test.rb
test/functional/repositories_subversion_controller_test.rb

index d5772a648733b600e2aeafc5ba7aa47d25db2271..8938c97a2da66ebe580a953a81672417e4e8215e 100644 (file)
@@ -44,48 +44,49 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Bazaar'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Bazaar, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Bazaar'
+      end
     end
 
     def test_browse_root
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal 2, assigns(:entries).size
-      assert assigns(:entries).detect {|e| e.name == 'directory' && e.kind == 'dir'}
-      assert assigns(:entries).detect {|e| e.name == 'doc-mkdir.txt' && e.kind == 'file'}
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 2
+        assert_select 'tr.dir td.filename a', :text => 'directory'
+        assert_select 'tr.file td.filename a', :text => 'doc-mkdir.txt'
+      end
     end
 
     def test_browse_directory
       get :show, :id => PRJ_ID, :path => repository_path_hash(['directory'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['doc-ls.txt', 'document.txt', 'edit.png'], assigns(:entries).collect(&:name)
-      entry = assigns(:entries).detect {|e| e.name == 'edit.png'}
-      assert_not_nil entry
-      assert_equal 'file', entry.kind
-      assert_equal 'directory/edit.png', entry.path
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr.file td.filename a', :text => 'doc-ls.txt'
+        assert_select 'tr.file td.filename a', :text => 'document.txt'
+        assert_select 'tr.file td.filename a', :text => 'edit.png'
+      end
     end
 
     def test_browse_at_given_revision
       get :show, :id => PRJ_ID, :path => repository_path_hash([])[:param],
           :rev => 3
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['directory', 'doc-deleted.txt', 'doc-ls.txt', 'doc-mkdir.txt'],
-                   assigns(:entries).collect(&:name)
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 4
+        assert_select 'tr.dir td.filename a', :text => 'directory'
+        assert_select 'tr.file td.filename a', :text => 'doc-deleted.txt'
+        assert_select 'tr.file td.filename a', :text => 'doc-ls.txt'
+        assert_select 'tr.file td.filename a', :text => 'doc-mkdir.txt'
+      end
     end
 
     def test_changes
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['doc-mkdir.txt'])[:param]
       assert_response :success
-      assert_template 'changes'
       assert_select 'h2', :text => /doc-mkdir.txt/
     end
 
@@ -93,7 +94,6 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['directory', 'doc-ls.txt'])[:param]
       assert_response :success
-      assert_template 'entry'
       # Line 19
       assert_select 'tr#L29 td.line-code', :text => /Show help message/
     end
@@ -111,9 +111,7 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['directory'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entry)
-      assert_equal 'directory', assigns(:entry).name
+      assert_select 'table.entries tbody'
     end
 
     def test_diff
@@ -121,7 +119,6 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       ['inline', 'sbs'].each do |dt|
         get :diff, :id => PRJ_ID, :rev => 3, :type => dt
         assert_response :success
-        assert_template 'diff'
         # Line 11 removed
         assert_select 'th.line-num:contains(11) ~ td.diff_out', :text => /Display more information/
       end
@@ -131,7 +128,7 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID,
           :path => repository_path_hash(['doc-mkdir.txt'])[:param]
       assert_response :success
-      assert_template 'annotate'
+
       assert_select "th.line-num", :text => '2' do
         assert_select "+ td.revision" do
           assert_select "a", :text => '3'
@@ -153,7 +150,7 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID, :repository_id => 'author_escaping',
           :path => repository_path_hash(['author-escaping-test.txt'])[:param]
       assert_response :success
-      assert_template 'annotate'
+
       assert_select "th.line-num", :text => '1' do
         assert_select "+ td.revision" do
           assert_select "a", :text => '2'
@@ -181,7 +178,7 @@ class RepositoriesBazaarControllerTest < Redmine::ControllerTest
         get :annotate, :id => PRJ_ID, :repository_id => 'author_non_ascii',
             :path => repository_path_hash(['author-non-ascii-test.txt'])[:param]
         assert_response :success
-        assert_template 'annotate'
+
         assert_select "th.line-num", :text => '1' do
           assert_select "+ td.revision" do
             assert_select "a", :text => '2'
index 3a4e073f7a98a27e47cf5983d847b63f12eba868..f55867f5b95a4c6f25aef0a5204f74808947ad36 100644 (file)
@@ -30,9 +30,9 @@ class RepositoriesControllerTest < Redmine::ControllerTest
     @request.session[:user_id] = 1
     get :new, :project_id => 'subproject1'
     assert_response :success
-    assert_template 'new'
-    assert_kind_of Repository::Subversion, assigns(:repository)
-    assert assigns(:repository).new_record?
+    assert_select 'select[name=?]', 'repository_scm' do
+      assert_select 'option[value=?][selected=selected]', 'Subversion'
+    end
     assert_select 'input[name=?]:not([disabled])', 'repository[url]'
   end
 
@@ -42,8 +42,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
       get :new, :project_id => 'subproject1'
     end
     assert_response :success
-    assert_template 'new'
-    assert_kind_of Repository::Mercurial, assigns(:repository)
 
     assert_select 'select[name=repository_scm]' do
       assert_select 'option', 3
@@ -73,17 +71,16 @@ class RepositoriesControllerTest < Redmine::ControllerTest
            :repository => {:url => 'invalid'}
     end
     assert_response :success
-    assert_template 'new'
-    assert_kind_of Repository::Subversion, assigns(:repository)
-    assert assigns(:repository).new_record?
+    assert_select_error /URL is invalid/
+    assert_select 'select[name=?]', 'repository_scm' do
+      assert_select 'option[value=?][selected=selected]', 'Subversion'
+    end
   end
 
   def test_edit
     @request.session[:user_id] = 1
     get :edit, :id => 11
     assert_response :success
-    assert_template 'edit'
-    assert_equal Repository.find(11), assigns(:repository)
     assert_select 'input[name=?][value=?][disabled=disabled]', 'repository[url]', 'svn://localhost/test'
   end
 
@@ -98,8 +95,7 @@ class RepositoriesControllerTest < Redmine::ControllerTest
     @request.session[:user_id] = 1
     put :update, :id => 11, :repository => {:password => 'x'*260}
     assert_response :success
-    assert_template 'edit'
-    assert_equal Repository.find(11), assigns(:repository)
+    assert_select_error /Password is too long/
   end
 
   def test_destroy
@@ -139,9 +135,7 @@ class RepositoriesControllerTest < Redmine::ControllerTest
   def test_revisions
     get :revisions, :id => 1
     assert_response :success
-    assert_template 'revisions'
-    assert_equal Repository.find(10), assigns(:repository)
-    assert_not_nil assigns(:changesets)
+    assert_select 'table.changesets'
   end
 
   def test_revisions_for_other_repository
@@ -149,9 +143,7 @@ class RepositoriesControllerTest < Redmine::ControllerTest
 
     get :revisions, :id => 1, :repository_id => 'foo'
     assert_response :success
-    assert_template 'revisions'
-    assert_equal repository, assigns(:repository)
-    assert_not_nil assigns(:changesets)
+    assert_select 'table.changesets'
   end
 
   def test_revisions_for_invalid_repository
@@ -162,8 +154,7 @@ class RepositoriesControllerTest < Redmine::ControllerTest
   def test_revision
     get :revision, :id => 1, :rev => 1
     assert_response :success
-    assert_not_nil assigns(:changeset)
-    assert_equal "1", assigns(:changeset).revision
+    assert_select 'h2', :text => 'Revision 1'
   end
 
   def test_revision_should_show_add_related_issue_form
@@ -188,7 +179,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
   def test_revision_with_before_nil_and_afer_normal
     get :revision, {:id => 1, :rev => 1}
     assert_response :success
-    assert_template 'revision'
 
     assert_select 'div.contextual' do
       assert_select 'a[href=?]', '/projects/ecookbook/repository/revisions/0', 0
@@ -201,7 +191,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
     assert_difference 'Changeset.find(103).issues.size' do
       xhr :post, :add_related_issue, :id => 1, :rev => 4, :issue_id => 2, :format => 'js'
       assert_response :success
-      assert_template 'add_related_issue'
       assert_equal 'text/javascript', response.content_type
     end
     assert_equal [2], Changeset.find(103).issue_ids
@@ -222,7 +211,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
     assert_no_difference 'Changeset.find(103).issues.size' do
       xhr :post, :add_related_issue, :id => 1, :rev => 4, :issue_id => 9999, :format => 'js'
       assert_response :success
-      assert_template 'add_related_issue'
       assert_equal 'text/javascript', response.content_type
     end
     assert_include 'alert("Issue is invalid")', response.body
@@ -236,7 +224,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
     assert_difference 'Changeset.find(103).issues.size', -1 do
       xhr :delete, :remove_related_issue, :id => 1, :rev => 4, :issue_id => 2, :format => 'js'
       assert_response :success
-      assert_template 'remove_related_issue'
       assert_equal 'text/javascript', response.content_type
     end
     assert_equal [1], Changeset.find(103).issue_ids
@@ -273,7 +260,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
 
     get :committers, :id => 10
     assert_response :success
-    assert_template 'committers'
 
     assert_select 'input[value=dlopper] + select option[value="3"][selected=selected]', :text => 'Dave Lopper'
     assert_select 'input[value=foo] + select option[selected=selected]', 0 # no option selected
@@ -285,7 +271,6 @@ class RepositoriesControllerTest < Redmine::ControllerTest
 
     get :committers, :id => 10
     assert_response :success
-    assert_template 'committers'
   end
 
   def test_post_committers
index 1ba84876e1f340dfd4eeacd337a6df5d8e2a4ede..6d48812a8dbf2fd459d8e8fbc84d5d2728c87ff0 100644 (file)
@@ -48,9 +48,10 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Cvs'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Cvs, assigns(:repository)
-      assert assigns(:repository).new_record?
+
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Cvs'
+      end
     end
 
     def test_browse_root
@@ -60,18 +61,16 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal 3, assigns(:entries).size
 
-      entry = assigns(:entries).detect {|e| e.name == 'images'}
-      assert_equal 'dir', entry.kind
-
-      entry = assigns(:entries).detect {|e| e.name == 'README'}
-      assert_equal 'file', entry.kind
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr.dir td.filename a', :text => 'images'
+        assert_select 'tr.file td.filename a', :text => 'README'
+      end
 
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr'
+      end
     end
 
     def test_browse_directory
@@ -81,13 +80,13 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['add.png', 'delete.png', 'edit.png'], assigns(:entries).collect(&:name)
-      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
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr.file td.filename a', :text => 'add.png'
+        assert_select 'tr.file td.filename a', :text => 'delete.png'
+        assert_select 'tr.file td.filename a', :text => 'edit.png'
+      end
     end
 
     def test_browse_at_given_revision
@@ -98,9 +97,12 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param],
           :rev => 1
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['delete.png', 'edit.png'], assigns(:entries).collect(&:name)
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 2
+        assert_select 'tr.file td.filename a', :text => 'delete.png'
+        assert_select 'tr.file td.filename a', :text => 'edit.png'
+      end
     end
 
     def test_entry
@@ -111,7 +113,7 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'entry'
+
       assert_select 'td.line-code', :text => /before_filter/, :count => 0
     end
 
@@ -125,7 +127,7 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param],
           :rev => 2
       assert_response :success
-      assert_template 'entry'
+
       # this line was removed in r3
       assert_select 'td.line-code', :text => /before_filter/
     end
@@ -159,9 +161,7 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entry)
-      assert_equal 'sources', assigns(:entry).name
+      assert_select 'table.entries tbody'
     end
 
     def test_diff
@@ -172,7 +172,7 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       ['inline', 'sbs'].each do |dt|
         get :diff, :id => PRJ_ID, :rev => 3, :type => dt
         assert_response :success
-        assert_template 'diff'
+
         assert_select 'td.line-code.diff_out', :text => /before_filter :require_login/
         assert_select 'td.line-code.diff_in', :text => /with one change/
       end
@@ -186,7 +186,7 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       ['inline', 'sbs'].each do |dt|
         get :diff, :id => PRJ_ID, :rev => 1, :type => dt
         assert_response :success
-        assert_template 'diff'
+
         assert_select 'td.line-code.diff_in', :text => /watched.remove_watcher/
         assert_select 'th.filename', :text => /test\/README/
         assert_select 'th.filename', :text => /test\/images\/delete.png/
@@ -203,7 +203,6 @@ class RepositoriesCvsControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'annotate'
 
       # 1.1 line
       assert_select 'tr' do
index 8845bbb2283c5fadddf57f0129f868e0c65ddc99..4d86e1afa44421324c82875d0df5cf80e60da789 100644 (file)
@@ -44,9 +44,9 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Darcs'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Darcs, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Darcs'
+      end
     end
 
     def test_browse_root
@@ -55,13 +55,12 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       @project.reload
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID
-      assert_response :success
-      assert_template 'show'
-      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'}
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr.dir td.filename a', :text => 'images'
+        assert_select 'tr.dir td.filename a', :text => 'sources'
+        assert_select 'tr.file td.filename a', :text => 'README'
+      end
     end
 
     def test_browse_directory
@@ -71,13 +70,11 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['delete.png', 'edit.png'], assigns(:entries).collect(&:name)
-      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
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 2
+        assert_select 'tr.file td.filename a', :text => 'delete.png'
+        assert_select 'tr.file td.filename a', :text => 'edit.png'
+      end
     end
 
     def test_browse_at_given_revision
@@ -88,9 +85,10 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param],
           :rev => 1
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['delete.png'], assigns(:entries).collect(&:name)
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 1
+        assert_select 'tr.file td.filename a', :text => 'delete.png'
+      end
     end
 
     def test_changes
@@ -101,7 +99,6 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['images', 'edit.png'])[:param]
       assert_response :success
-      assert_template 'changes'
       assert_select 'h2', :text => /edit.png/
     end
 
@@ -114,7 +111,6 @@ class RepositoriesDarcsControllerTest < Redmine::ControllerTest
       ['inline', 'sbs'].each do |dt|
         get :diff, :id => PRJ_ID, :rev => 5, :type => dt
         assert_response :success
-        assert_template 'diff'
         # Line 22 removed
         assert_select 'th.line-num:contains(22) ~ td.diff_out', :text => /def remove/
       end
index c64429fb2a42c4507f6e1dab03411bb91279f5ad..1e25bb824e24ceeb0542051567867294aa4e7b36 100644 (file)
@@ -45,9 +45,9 @@ class RepositoriesFilesystemControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Filesystem'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Filesystem, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Filesystem'
+      end
     end
 
     def test_browse_root
@@ -55,11 +55,15 @@ class RepositoriesFilesystemControllerTest < Redmine::ControllerTest
       @repository.reload
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert assigns(:entries).size > 0
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size == 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr.dir td.filename a', :text => 'dir'
+        assert_select 'tr.dir td.filename a', :text => 'japanese'
+        assert_select 'tr.file td.filename a', :text => 'test'
+      end
+
+      assert_select 'table.changesets tbody', 0
 
       assert_select 'input[name=rev]', 0
       assert_select 'a', :text => 'Statistics', :count => 0
@@ -69,7 +73,6 @@ class RepositoriesFilesystemControllerTest < Redmine::ControllerTest
     def test_show_no_extension
       get :entry, :id => PRJ_ID, :path => repository_path_hash(['test'])[:param]
       assert_response :success
-      assert_template 'entry'
       assert_select 'tr#L1 td.line-code', :text => /TEST CAT/
     end
 
@@ -84,7 +87,6 @@ class RepositoriesFilesystemControllerTest < Redmine::ControllerTest
         get :entry, :id => PRJ_ID,
             :path => repository_path_hash(['japanese', 'euc-jp.txt'])[:param]
         assert_response :success
-        assert_template 'entry'
         assert_select 'tr#L2 td.line-code', :text => /japanese/
         if @ruby19_non_utf8_pass
           puts "TODO: show repository file contents test fails " +
index 4c2939e35f072c0ddf29c66d36f2de7cc859b0ec..c76a5165e0d47e7ee7f0846b07abc537e8e2fbab 100644 (file)
@@ -94,9 +94,9 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Git'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Git, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Git'
+      end
     end
 
     def test_browse_root
@@ -107,20 +107,23 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
 
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal 9, assigns(:entries).size
-      assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'}
-      assert assigns(:entries).detect {|e| e.name == 'this_is_a_really_long_and_verbose_directory_name' && 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'}
-      assert assigns(:entries).detect {|e| e.name == 'copied_README' && e.kind == 'file'}
-      assert assigns(:entries).detect {|e| e.name == 'new_file.txt' && e.kind == 'file'}
-      assert assigns(:entries).detect {|e| e.name == 'renamed_test.txt' && e.kind == 'file'}
-      assert assigns(:entries).detect {|e| e.name == 'filemane with spaces.txt' && e.kind == 'file'}
-      assert assigns(:entries).detect {|e| e.name == ' filename with a leading space.txt ' && e.kind == 'file'}
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 9
+        assert_select 'tr.dir td.filename_no_report a', :text => 'images'
+        assert_select 'tr.dir td.filename_no_report a', :text => 'this_is_a_really_long_and_verbose_directory_name'
+        assert_select 'tr.dir td.filename_no_report a', :text => 'sources'
+        assert_select 'tr.file td.filename_no_report a', :text => 'README'
+        assert_select 'tr.file td.filename_no_report a', :text => 'copied_README'
+        assert_select 'tr.file td.filename_no_report a', :text => 'new_file.txt'
+        assert_select 'tr.file td.filename_no_report a', :text => 'renamed_test.txt'
+        assert_select 'tr.file td.filename_no_report a', :text => 'filemane with spaces.txt'
+        assert_select 'tr.file td.filename_no_report a', :text => 'filename with a leading space.txt'
+      end
+
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr'
+      end
     end
 
     def test_browse_branch
@@ -130,15 +133,18 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :rev => 'test_branch'
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal 4, 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'}
-      assert assigns(:entries).detect {|e| e.name == 'test.txt' && e.kind == 'file'}
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 4
+        assert_select 'tr.dir td.filename_no_report a', :text => 'images'
+        assert_select 'tr.dir td.filename_no_report a', :text => 'sources'
+        assert_select 'tr.file td.filename_no_report a', :text => 'README'
+        assert_select 'tr.file td.filename_no_report a', :text => 'test.txt'
+      end
+
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr'
+      end
     end
 
     def test_browse_tag
@@ -152,11 +158,9 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
        ].each do |t1|
         get :show, :id => PRJ_ID, :rev => t1
         assert_response :success
-        assert_template 'show'
-        assert_not_nil assigns(:entries)
-        assert assigns(:entries).size > 0
-        assert_not_nil assigns(:changesets)
-        assert assigns(:changesets).size > 0
+
+        assert_select 'table.entries tbody tr'
+        assert_select 'table.changesets tbody tr'
       end
     end
 
@@ -167,15 +171,12 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['edit.png'], assigns(:entries).collect(&:name)
-      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
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 1
+        assert_select 'tr.file td.filename_no_report a', :text => 'edit.png'
+      end
+      assert_select 'table.changesets tbody tr'
     end
 
     def test_browse_at_given_revision
@@ -186,18 +187,17 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param],
           :rev => '7234cb2750b63f47bff735edc50a1c0a433c2518'
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['delete.png'], assigns(:entries).collect(&:name)
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 1
+        assert_select 'tr.file td.filename_no_report a', :text => 'delete.png'
+      end
     end
 
     def test_changes
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['images', 'edit.png'])[:param]
       assert_response :success
-      assert_template 'changes'
       assert_select 'h2', :text => /edit.png/
     end
 
@@ -205,7 +205,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'entry'
       # Line 11
       assert_select 'tr#L11 td.line-code', :text => /WITHOUT ANY WARRANTY/
     end
@@ -224,7 +223,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
                 :path => repository_path_hash(['latin-1-dir', "test-#{CHAR_1_HEX}.txt"])[:param],
                 :rev => r1
             assert_response :success
-            assert_template 'entry'
             assert_select 'tr#L1 td.line-code', :text => /test-#{CHAR_1_HEX}.txt/
           end
         end
@@ -244,9 +242,8 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entry)
-      assert_equal 'sources', assigns(:entry).name
+      assert_select 'h2 a', :text => 'sources'
+      assert_select 'table.entries tbody'
     end
 
     def test_diff
@@ -263,7 +260,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
             :rev  => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
             :type => dt
         assert_response :success
-        assert_template 'diff'
         # Line 22 removed
         assert_select 'th.line-num:contains(22) ~ td.diff_out', :text => /def remove/
         assert_select 'h2', :text => /2f9c0091/
@@ -284,7 +280,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
               :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param],
               :type => dt
           assert_response :success
-          assert_template 'diff'
           # Line 22 removed
           assert_select 'th.line-num:contains(22) ~ td.diff_out', :text => /def remove/
           assert_select 'h2', :text => /2f9c0091/
@@ -330,9 +325,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
             :rev_to => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
             :type   => dt
         assert_response :success
-        assert_template 'diff'
-        diff = assigns(:diff)
-        assert_not_nil diff
         assert_select 'h2', :text => /2f9c0091:61b685fb/
         assert_select 'form[action=?]', '/projects/subproject1/repository/revisions/61b685fbe55ab05b5ac68402d5720c1a6ac973d1/diff'
         assert_select 'input#rev_to[type=hidden][name=rev_to][value=?]', '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
@@ -356,9 +348,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
           :rev_to => '2f9c0091c754a91a',
           :type   => 'inline'
       assert_response :success
-      assert_template 'diff'
-      diff = assigns(:diff)
-      assert_not_nil diff
       assert_select 'form[action=?]', '/projects/subproject1/repository/test-diff-path/revisions/61b685fbe55ab05b/diff'
       assert_select 'input#rev_to[type=hidden][name=rev_to][value=?]', '2f9c0091c754a91a'
     end
@@ -372,7 +361,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
             ['inline', 'sbs'].each do |dt|
               get :diff, :id => PRJ_ID, :rev => r1, :type => dt
               assert_response :success
-              assert_template 'diff'
               assert_select 'table' do
                 assert_select 'thead th.filename', :text => /latin-1-dir\/test-#{CHAR_1_HEX}.txt/
                 assert_select 'tbody td.diff_in', :text => /test-#{CHAR_1_HEX}.txt/
@@ -386,7 +374,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
     def test_diff_should_show_filenames
       get :diff, :id => PRJ_ID, :rev => 'deff712f05a90d96edbd70facc47d944be5897e3', :type => 'inline'
       assert_response :success
-      assert_template 'diff'
       # modified file
       assert_select 'th.filename', :text => 'sources/watchers_controller.rb'
       # deleted file
@@ -405,7 +392,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
           :id   => PRJ_ID,
           :rev  => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
       assert_response :success
-      assert_template 'diff'
       user.reload
       assert_equal "inline", user.pref[:diff_type]
       get :diff,
@@ -413,7 +399,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
           :rev  => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
           :type => 'sbs'
       assert_response :success
-      assert_template 'diff'
       user.reload
       assert_equal "sbs", user.pref[:diff_type]
     end
@@ -422,7 +407,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'annotate'
 
       # Line 23, changeset 2f9c0091
       assert_select 'tr' do
@@ -441,7 +425,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID, :rev => 'deff7',
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'annotate'
       assert_select 'h2', :text => /@ deff712f/
     end
 
@@ -449,7 +432,7 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       with_settings :default_language => 'en' do
         get :annotate, :id => PRJ_ID,
             :path => repository_path_hash(['images', 'edit.png'])[:param]
-        assert_response 200
+        assert_response :success
         assert_select 'p#errorExplanation', :text => /cannot be annotated/
       end
     end
@@ -459,14 +442,13 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
         get :annotate, :id => PRJ_ID,
             :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param],
             :rev => 'deff712f'
-        assert_response 200
+        assert_response :success
         assert_select 'p#errorExplanation', :text => /exceeds the maximum text file size/
 
         get :annotate, :id => PRJ_ID,
             :path => repository_path_hash(['README'])[:param],
             :rev => '7234cb2'
         assert_response :success
-        assert_template 'annotate'
       end
     end
 
@@ -520,8 +502,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       @project.reload
       assert_equal NUM_REV, @repository.changesets.count
       get :revisions, :id => PRJ_ID
-      assert_response :success
-      assert_template 'revisions'
       assert_select 'form[method=get][action=?]', '/projects/subproject1/repository/revision'
     end
 
@@ -533,7 +513,6 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
       ['61b685fbe55ab05b5ac68402d5720c1a6ac973d1', '61b685f'].each do |r|
         get :revision, :id => PRJ_ID, :rev => r
         assert_response :success
-        assert_template 'revision'
       end
     end
 
index 130adc6958010b261691c778b82540addefba52e..cde27baa444202d2daa32c2c71194df9e91438f8 100644 (file)
@@ -58,9 +58,9 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Mercurial'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Mercurial, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Mercurial'
+      end
     end
 
     def test_show_root
@@ -70,14 +70,18 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal 4, 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'}
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 4
+        assert_select 'tr.dir td.filename a', :text => 'images'
+        assert_select 'tr.dir td.filename a', :text => 'sources'
+        assert_select 'tr.file td.filename a', :text => '.hgtags'
+        assert_select 'tr.file td.filename a', :text => 'README'
+      end
+
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr'
+      end
     end
 
     def test_show_directory
@@ -87,15 +91,16 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['delete.png', 'edit.png'], assigns(:entries).collect(&:name)
-      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
-      assert_not_nil assigns(:changesets)
-      assert assigns(:changesets).size > 0
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 2
+        assert_select 'tr.file td.filename a', :text => 'delete.png'
+        assert_select 'tr.file td.filename a', :text => 'edit.png'
+      end
+
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr'
+      end
     end
 
     def test_show_at_given_revision
@@ -107,11 +112,15 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
         get :show, :id => PRJ_ID, :path => repository_path_hash(['images'])[:param],
             :rev => r1
         assert_response :success
-        assert_template 'show'
-        assert_not_nil assigns(:entries)
-        assert_equal ['delete.png'], assigns(:entries).collect(&:name)
-        assert_not_nil assigns(:changesets)
-        assert assigns(:changesets).size > 0
+
+        assert_select 'table.entries tbody' do
+          assert_select 'tr', 1
+          assert_select 'tr.file td.filename a', :text => 'delete.png'
+        end
+  
+        assert_select 'table.changesets tbody' do
+          assert_select 'tr'
+        end
       end
     end
 
@@ -125,15 +134,19 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
             :path => repository_path_hash(['sql_escape', 'percent%dir'])[:param],
             :rev => r1
         assert_response :success
-        assert_template 'show'
-
-        assert_not_nil assigns(:entries)
-        assert_equal ['percent%file1.txt', 'percentfile1.txt'],
-                     assigns(:entries).collect(&:name)
-        changesets = assigns(:changesets)
-        assert_not_nil changesets
-        assert assigns(:changesets).size > 0
-        assert_equal %w(13 11 10 9), changesets.collect(&:revision)
+
+        assert_select 'table.entries tbody' do
+          assert_select 'tr', 2
+          assert_select 'tr.file td.filename a', :text => 'percent%file1.txt'
+          assert_select 'tr.file td.filename a', :text => 'percentfile1.txt'
+        end
+  
+        assert_select 'table.changesets tbody' do
+          assert_select 'tr td.id a', :text => /^13:/
+          assert_select 'tr td.id a', :text => /^11:/
+          assert_select 'tr td.id a', :text => /^10:/
+          assert_select 'tr td.id a', :text => /^9:/
+        end
       end
     end
 
@@ -147,16 +160,22 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
             :path => repository_path_hash(['latin-1-dir'])[:param],
             :rev => r1
         assert_response :success
-        assert_template 'show'
-
-        assert_not_nil assigns(:entries)
-        assert_equal ["make-latin-1-file.rb",
-                      "test-#{@char_1}-1.txt",
-                      "test-#{@char_1}-2.txt",
-                      "test-#{@char_1}.txt"], assigns(:entries).collect(&:name)
-        changesets = assigns(:changesets)
-        assert_not_nil changesets
-        assert_equal %w(21 20 19 18 17), changesets.collect(&:revision)
+
+        assert_select 'table.entries tbody' do
+          assert_select 'tr', 4
+          assert_select 'tr.file td.filename a', :text => "make-latin-1-file.rb"
+          assert_select 'tr.file td.filename a', :text => "test-#{@char_1}-1.txt"
+          assert_select 'tr.file td.filename a', :text => "test-#{@char_1}-2.txt"
+          assert_select 'tr.file td.filename a', :text => "test-#{@char_1}.txt"
+        end
+  
+        assert_select 'table.changesets tbody' do
+          assert_select 'tr td.id a', :text => /^21:/
+          assert_select 'tr td.id a', :text => /^20:/
+          assert_select 'tr td.id a', :text => /^19:/
+          assert_select 'tr td.id a', :text => /^18:/
+          assert_select 'tr td.id a', :text => /^17:/
+        end
       end
     end
 
@@ -186,11 +205,9 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       ].each do |bra|
         get :show, :id => PRJ_ID, :rev => bra
         assert_response :success
-        assert_template 'show'
-        assert_not_nil assigns(:entries)
-        assert assigns(:entries).size > 0
-        assert_not_nil assigns(:changesets)
-        assert assigns(:changesets).size > 0
+
+        assert_select 'table.entries tbody tr'
+        assert_select 'table.changesets tbody tr'
       end
     end
 
@@ -206,11 +223,9 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       ].each do |tag|
         get :show, :id => PRJ_ID, :rev => tag
         assert_response :success
-        assert_template 'show'
-        assert_not_nil assigns(:entries)
-        assert assigns(:entries).size > 0
-        assert_not_nil assigns(:changesets)
-        assert assigns(:changesets).size > 0
+
+        assert_select 'table.entries tbody tr'
+        assert_select 'table.changesets tbody tr'
       end
     end
 
@@ -218,7 +233,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['images', 'edit.png'])[:param]
       assert_response :success
-      assert_template 'changes'
       assert_select 'h2', :text => /edit.png/
     end
 
@@ -226,7 +240,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'entry'
       # Line 10
       assert_select 'tr#L10 td.line-code', :text => /WITHOUT ANY WARRANTY/
     end
@@ -237,7 +250,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
             :path => repository_path_hash(['latin-1-dir', "test-#{@char_1}-2.txt"])[:param],
             :rev => r1
         assert_response :success
-        assert_template 'entry'
         assert_select 'tr#L1 td.line-code', :text => /Mercurial is a distributed version control system/
       end
     end
@@ -249,7 +261,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
               :path => repository_path_hash(['latin-1-dir', "test-#{@char_1}.txt"])[:param],
               :rev => r1
           assert_response :success
-          assert_template 'entry'
           assert_select 'tr#L1 td.line-code', :text => /test-#{@char_1}.txt/
         end
       end
@@ -272,9 +283,8 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['sources'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entry)
-      assert_equal 'sources', assigns(:entry).name
+      assert_select 'h2 a', :text => 'sources'
+      assert_select 'table.entries tbody'
     end
 
     def test_diff
@@ -287,7 +297,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
         ['inline', 'sbs'].each do |dt|
           get :diff, :id => PRJ_ID, :rev => r1, :type => dt
           assert_response :success
-          assert_template 'diff'
           if @diff_c_support
             # Line 22 removed
             assert_select 'th.line-num:contains(22) ~ td.diff_out', :text => /def remove/
@@ -311,9 +320,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
                 :rev_to => r2,
                 :type => dt
             assert_response :success
-            assert_template 'diff'
-            diff = assigns(:diff)
-            assert_not_nil diff
             assert_select 'h2', :text => /4:def6d2f1254a 2:400bb8672109/
           end
         end
@@ -326,7 +332,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
           ['inline', 'sbs'].each do |dt|
             get :diff, :id => PRJ_ID, :rev => r1, :type => dt
             assert_response :success
-            assert_template 'diff'
             assert_select 'table' do
               assert_select 'thead th.filename', :text => /latin-1-dir\/test-#{@char_1}-2.txt/
               assert_select 'tbody td.diff_in', :text => /It is written in Python/
@@ -339,14 +344,12 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
     def test_diff_should_show_modified_filenames
       get :diff, :id => PRJ_ID, :rev => '400bb8672109', :type => 'inline'
       assert_response :success
-      assert_template 'diff'
       assert_select 'th.filename', :text => 'sources/watchers_controller.rb'
     end
 
     def test_diff_should_show_deleted_filenames
       get :diff, :id => PRJ_ID, :rev => 'b3a615152df8', :type => 'inline'
       assert_response :success
-      assert_template 'diff'
       assert_select 'th.filename', :text => 'sources/welcome_controller.rb'
     end
 
@@ -354,7 +357,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID,
           :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
       assert_response :success
-      assert_template 'annotate'
 
       # Line 22, revision 4:def6d2f1254a
       assert_select 'tr' do
@@ -385,7 +387,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
         get :annotate, :id => PRJ_ID, :rev => r1,
             :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param]
         assert_response :success
-        assert_template 'annotate'
         assert_select 'h2', :text => /@ 2:400bb8672109/
       end
     end
@@ -396,7 +397,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
             :path => repository_path_hash(['latin-1-dir', "test-#{@char_1}-2.txt"])[:param],
             :rev => r1
         assert_response :success
-        assert_template 'annotate'
         assert_select "th.line-num", :text => '1' do
           assert_select "+ td.revision" do
             assert_select "a", :text => '20:709858aafd1b'
@@ -429,7 +429,6 @@ class RepositoriesMercurialControllerTest < Redmine::ControllerTest
         with_settings :default_language => "en" do
           get :revision, :id => PRJ_ID, :rev => r
           assert_response :success
-          assert_template 'revision'
           assert_select 'title',
                         :text => 'Revision 1:9d5b5b004199 - Added 2 files and modified one. - eCookbook Subproject 1 - Redmine'
           end
index 1aa4dd3cae5d9ed0258361f4d5e0fb85d4dfe2ba..92dc2c2f7c73db860533904b5c0e542d136fb1d5 100644 (file)
@@ -43,9 +43,9 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       @project.repository.destroy
       get :new, :project_id => 'subproject1', :repository_scm => 'Subversion'
       assert_response :success
-      assert_template 'new'
-      assert_kind_of Repository::Subversion, assigns(:repository)
-      assert assigns(:repository).new_record?
+      assert_select 'select[name=?]', 'repository_scm' do
+        assert_select 'option[value=?][selected=selected]', 'Subversion'
+      end
     end
 
     def test_show
@@ -55,14 +55,17 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_not_nil assigns(:changesets)
 
-      entry = assigns(:entries).detect {|e| e.name == 'subversion_test'}
-      assert_not_nil entry
-      assert_equal 'dir', entry.kind
-      assert_select 'tr.dir a[href="/projects/subproject1/repository/show/subversion_test"]'
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 1
+        assert_select 'tr.dir td.filename a', :text => 'subversion_test'
+        assert_select 'tr.dir td.filename a[href=?]', '/projects/subproject1/repository/show/subversion_test'
+      end
+
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr', 10
+        assert_select 'tr td.id a', :text => '11'
+      end
 
       assert_select 'input[name=rev]'
       assert_select 'a', :text => 'Statistics'
@@ -77,7 +80,7 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
 
       get :show, :id => PRJ_ID, :repository_id => 'svn'
       assert_response :success
-      assert_template 'show'
+
       assert_select 'tr.dir a[href="/projects/subproject1/repository/svn/show/subversion_test"]'
       # Repository menu should link to the main repo
       assert_select '#main-menu a[href="/projects/subproject1/repository"]'
@@ -90,16 +93,16 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       assert_equal NUM_REV, @repository.changesets.count
       get :show, :id => PRJ_ID, :path => repository_path_hash(['subversion_test'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal [
-           '[folder_with_brackets]', 'folder', '.project',
-           'helloworld.c', 'textfile.txt'
-         ],
-        assigns(:entries).collect(&:name)
-      entry = assigns(:entries).detect {|e| e.name == 'helloworld.c'}
-      assert_equal 'file', entry.kind
-      assert_equal 'subversion_test/helloworld.c', entry.path
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 5
+        assert_select 'tr.dir td.filename a', :text => '[folder_with_brackets]'
+        assert_select 'tr.dir td.filename a', :text => 'folder'
+        assert_select 'tr.file td.filename a', :text => '.project'
+        assert_select 'tr.file td.filename a', :text => 'helloworld.c'
+        assert_select 'tr.file td.filename a', :text => 'textfile.txt'
+      end
+
       assert_select 'a.text-x-c', :text => 'helloworld.c'
     end
 
@@ -111,10 +114,15 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :show, :id => PRJ_ID, :path => repository_path_hash(['subversion_test'])[:param],
           :rev => 4
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entries)
-      assert_equal ['folder', '.project', 'helloworld.c', 'helloworld.rb', 'textfile.txt'],
-                   assigns(:entries).collect(&:name)
+
+      assert_select 'table.entries tbody' do
+        assert_select 'tr', 5
+        assert_select 'tr.dir td.filename a', :text => 'folder'
+        assert_select 'tr.file td.filename a', :text => '.project'
+        assert_select 'tr.file td.filename a', :text => 'helloworld.c'
+        assert_select 'tr.file td.filename a', :text => 'helloworld.rb'
+        assert_select 'tr.file td.filename a', :text => 'textfile.txt'
+      end
     end
 
     def test_file_changes
@@ -125,16 +133,16 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'folder', 'helloworld.rb'])[:param]
       assert_response :success
-      assert_template 'changes'
 
-      changesets = assigns(:changesets)
-      assert_not_nil changesets
-      assert_equal %w(6 3 2), changesets.collect(&:revision)
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr', 3
+        assert_select 'tr td.id a', :text => '6'
+        assert_select 'tr td.id a', :text => '3'
+        assert_select 'tr td.id a', :text => '2'
+      end
 
       # svn properties displayed with svn >= 1.5 only
       if Redmine::Scm::Adapters::SubversionAdapter.client_version_above?([1, 5, 0])
-        assert_not_nil assigns(:properties)
-        assert_equal 'native', assigns(:properties)['svn:eol-style']
         assert_select 'ul li' do
           assert_select 'b', :text => 'svn:eol-style'
           assert_select 'span', :text => 'native'
@@ -150,11 +158,16 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :changes, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'folder'])[:param]
       assert_response :success
-      assert_template 'changes'
 
-      changesets = assigns(:changesets)
-      assert_not_nil changesets
-      assert_equal %w(10 9 7 6 5 2), changesets.collect(&:revision)
+      assert_select 'table.changesets tbody' do
+        assert_select 'tr', 6
+        assert_select 'tr td.id a', :text => '10'
+        assert_select 'tr td.id a', :text => '9'
+        assert_select 'tr td.id a', :text => '7'
+        assert_select 'tr td.id a', :text => '6'
+        assert_select 'tr td.id a', :text => '5'
+        assert_select 'tr td.id a', :text => '2'
+      end
     end
 
     def test_entry
@@ -165,7 +178,8 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'helloworld.c'])[:param]
       assert_response :success
-      assert_template 'entry'
+      assert_select 'h2 a', :text => 'subversion_test'
+      assert_select 'h2 a', :text => 'helloworld.c'
     end
 
     def test_entry_should_show_other_if_too_big
@@ -187,7 +201,7 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'folder', 'subfolder', 'rubylogo.gif'])[:param]
       assert_response :success
-      assert_template 'entry'
+      assert_select 'img[src=?]', '/projects/subproject1/repository/raw/subversion_test/folder/subfolder/rubylogo.gif'
     end
 
     def test_entry_at_given_revision
@@ -199,7 +213,6 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
           :path => repository_path_hash(['subversion_test', 'helloworld.rb'])[:param],
           :rev => 2
       assert_response :success
-      assert_template 'entry'
       # this line was removed in r3 and file was moved in r6
       assert_select 'td.line-code', :text => /Here's the code/
     end
@@ -233,16 +246,14 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :entry, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'folder'])[:param]
       assert_response :success
-      assert_template 'show'
-      assert_not_nil assigns(:entry)
-      assert_equal 'folder', assigns(:entry).name
+      assert_select 'h2 a', :text => 'subversion_test'
+      assert_select 'h2 a', :text => 'folder'
     end
 
     # TODO: this test needs fixtures.
     def test_revision
       get :revision, :id => 1, :rev => 2
       assert_response :success
-      assert_template 'revision'
 
       assert_select 'ul' do
         assert_select 'li' do
@@ -290,7 +301,6 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
 
       get :revision, :id => 1, :rev => 2
       assert_response :success
-      assert_template 'revision'
 
       assert_select 'ul' do
         assert_select 'li' do
@@ -310,7 +320,6 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       ['inline', 'sbs'].each do |dt|
         get :diff, :id => PRJ_ID, :rev => 3, :type => dt
         assert_response :success
-        assert_template 'diff'
         assert_select 'h2', :text => /Revision 3/
         assert_select 'th.filename', :text => 'subversion_test/textfile.txt'
       end
@@ -338,13 +347,12 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
             :path => repository_path_hash(['subversion_test', 'folder'])[:param],
             :type => dt
         assert_response :success
-        assert_template 'diff'
 
-        diff = assigns(:diff)
-        assert_not_nil diff
-        # 2 files modified
-        assert_equal 2, Redmine::UnifiedDiff.new(diff).size
         assert_select 'h2', :text => /2:6/
+        # 2 files modified
+        assert_select 'table.filecontent', 2
+        assert_select 'table.filecontent thead th.filename', :text => 'greeter.rb'
+        assert_select 'table.filecontent thead th.filename', :text => 'helloworld.rb'
       end
     end
 
@@ -356,7 +364,6 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID,
           :path => repository_path_hash(['subversion_test', 'helloworld.c'])[:param]
       assert_response :success
-      assert_template 'annotate'
 
       assert_select 'tr' do
         assert_select 'th.line-num', :text => '1'
@@ -380,7 +387,6 @@ class RepositoriesSubversionControllerTest < Redmine::ControllerTest
       get :annotate, :id => PRJ_ID, :rev => 8,
           :path => repository_path_hash(['subversion_test', 'helloworld.c'])[:param]
       assert_response :success
-      assert_template 'annotate'
       assert_select 'h2', :text => /@ 8/
     end