]> source.dussan.org Git - redmine.git/commitdiff
Do not run Mercurial functional tests if the test repository is not set up.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 19 Dec 2007 22:14:03 +0000 (22:14 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 19 Dec 2007 22:14:03 +0000 (22:14 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1019 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/repositories_mercurial_controller_test.rb

index db0029017cc8ba86910f7f2579b5c880eff57ed6..736e38c83b1f4ab96431d77164efe170fb614590 100644 (file)
@@ -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