]> source.dussan.org Git - redmine.git/commitdiff
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 8 Jun 2011 10:06:03 +0000 (10:06 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 8 Jun 2011 10:06:03 +0000 (10:06 +0000)
Git, Mercurial and CVS path encodings are binary.
Subversion supports URL encoding for path.
Redmine Mercurial adapter and extension use URL encoding.
Git accepts only binary path in command line parameter.
So, there is no way to use binary command line parameter in JRuby.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6005 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/unit/repository_git_test.rb

index 3df02311dba4f2f287a5793d61284627eb092409..e859413849e441e2d6233f497142cc540785d0b7 100644 (file)
@@ -33,6 +33,14 @@ class RepositoryGitTest < ActiveSupport::TestCase
   # WINDOWS_PASS = Redmine::Platform.mswin?
   WINDOWS_PASS = false
 
+  ## Git, Mercurial and CVS path encodings are binary.
+  ## Subversion supports URL encoding for path.
+  ## Redmine Mercurial adapter and extension use URL encoding.
+  ## Git accepts only binary path in command line parameter.
+  ## So, there is no way to use binary command line parameter in JRuby.
+  JRUBY_SKIP     = (RUBY_PLATFORM == 'java')
+  JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
+
   if File.directory?(REPOSITORY_PATH)
     def setup
       klass = Repository::Git
@@ -308,24 +316,30 @@ class RepositoryGitTest < ActiveSupport::TestCase
               '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
           ], changesets.collect(&:revision)
 
-      # latin-1 encoding path
-      changesets = @repository.latest_changesets(
-                    "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
-      assert_equal [
+      if JRUBY_SKIP
+        puts JRUBY_SKIP_STR
+      else
+        # latin-1 encoding path
+        changesets = @repository.latest_changesets(
+                      "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
+        assert_equal [
               '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
               '4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
           ], changesets.collect(&:revision)
 
-      changesets = @repository.latest_changesets(
+        changesets = @repository.latest_changesets(
                     "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
-      assert_equal [
+        assert_equal [
               '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
           ], changesets.collect(&:revision)
+      end
     end
 
     def test_latest_changesets_latin_1_dir
       if WINDOWS_PASS
         #
+      elsif JRUBY_SKIP
+        puts JRUBY_SKIP_STR
       else
         @repository.fetch_changesets
         @repository.reload