diff test/unit/repository_subversion_test.rb @ 245:051f544170fe

* Update to SVN trunk revision 4993
author Chris Cannam
date Thu, 03 Mar 2011 11:42:28 +0000
parents 8661b858af72
children cbce1fd3b1b7
line wrap: on
line diff
--- a/test/unit/repository_subversion_test.rb	Thu Mar 03 11:40:10 2011 +0000
+++ b/test/unit/repository_subversion_test.rb	Thu Mar 03 11:42:28 2011 +0000
@@ -21,8 +21,9 @@
   fixtures :projects, :repositories, :enabled_modules, :users, :roles 
   
   def setup
-    @project = Project.find(1)
-    assert @repository = Repository::Subversion.create(:project => @project, :url => "file:///#{self.class.repository_path('subversion')}")
+    @project = Project.find(3)
+    assert @repository = Repository::Subversion.create(:project => @project,
+             :url => "file://#{self.class.repository_path('subversion')}")
   end
   
   if repository_configured?('subversion')
@@ -74,7 +75,7 @@
     end
 
     def test_directory_listing_with_square_brackets_in_base
-      @project = Project.find(1)
+      @project = Project.find(3)
       @repository = Repository::Subversion.create(:project => @project, :url => "file:///#{self.class.repository_path('subversion')}/subversion_test/[folder_with_brackets]")
 
       @repository.fetch_changesets
@@ -136,6 +137,56 @@
       assert c.event_title.include?('123456789:')
       assert_equal '123456789', c.event_url[:rev]
     end
+
+    def test_log_encoding_ignore_setting
+      with_settings :commit_logs_encoding => 'windows-1252' do
+        s1 = "\xC2\x80"
+        s2 = "\xc3\x82\xc2\x80"
+        if s1.respond_to?(:force_encoding)
+          s3 = s1
+          s4 = s2
+          s1.force_encoding('ASCII-8BIT')
+          s2.force_encoding('ASCII-8BIT')
+          s3.force_encoding('ISO-8859-1')
+          s4.force_encoding('UTF-8')
+          assert_equal s3.encode('UTF-8'), s4
+        end
+        c = Changeset.new(:repository => @repository,
+                          :comments=>s2,
+                          :revision=>'123',
+                          :committed_on => Time.now)
+        assert c.save
+        assert_equal s2, c.comments
+      end
+    end
+
+    def test_previous
+      @repository.fetch_changesets
+      @repository.reload
+      changeset = @repository.find_changeset_by_name('3')
+      assert_equal @repository.find_changeset_by_name('2'), changeset.previous
+    end
+
+    def test_previous_nil
+      @repository.fetch_changesets
+      @repository.reload
+      changeset = @repository.find_changeset_by_name('1')
+      assert_nil changeset.previous
+    end
+
+    def test_next
+      @repository.fetch_changesets
+      @repository.reload
+      changeset = @repository.find_changeset_by_name('2')
+      assert_equal @repository.find_changeset_by_name('3'), changeset.next
+    end
+
+    def test_next_nil
+      @repository.fetch_changesets
+      @repository.reload
+      changeset = @repository.find_changeset_by_name('11')
+      assert_nil changeset.next
+    end
   else
     puts "Subversion test repository NOT FOUND. Skipping unit tests !!!"
     def test_fake; assert true end