41d5ec4
From c9b2eff36728266052ccfff54d3ac0a0624fd0f1 Mon Sep 17 00:00:00 2001
41d5ec4
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
41d5ec4
Date: Thu, 14 Feb 2013 11:50:41 +0100
41d5ec4
Subject: [PATCH 1/2] Use File.join insteado of manual path creation.
41d5ec4
41d5ec4
This prevents issues, when File.join in #new_default_spec removes
41d5ec4
superfluous slashes while they are kept in expected paths. E.g. the test
41d5ec4
would fail if ruby configuration specifies --with-ruby-version=''.
41d5ec4
---
41d5ec4
 test/rubygems/test_gem_commands_contents_command.rb | 8 ++++----
41d5ec4
 1 file changed, 4 insertions(+), 4 deletions(-)
41d5ec4
41d5ec4
diff --git a/test/rubygems/test_gem_commands_contents_command.rb b/test/rubygems/test_gem_commands_contents_command.rb
41d5ec4
index 60df53f..35c9631 100644
41d5ec4
--- a/test/rubygems/test_gem_commands_contents_command.rb
41d5ec4
+++ b/test/rubygems/test_gem_commands_contents_command.rb
41d5ec4
@@ -140,10 +140,10 @@ lib/foo.rb
41d5ec4
       @cmd.execute
41d5ec4
     end
41d5ec4
 
41d5ec4
-    expected = %W[
41d5ec4
-      #{Gem::ConfigMap[:bindir]}/default_command
41d5ec4
-      #{Gem::ConfigMap[:rubylibdir]}/default/gem.rb
41d5ec4
-      #{Gem::ConfigMap[:archdir]}/default_gem.so
41d5ec4
+    expected = [
41d5ec4
+      File.join(Gem::ConfigMap[:bindir], 'default_command'),
41d5ec4
+      File.join(Gem::ConfigMap[:rubylibdir], 'default/gem.rb'),
41d5ec4
+      File.join(Gem::ConfigMap[:archdir], 'default_gem.so')
41d5ec4
     ].sort.join "\n"
41d5ec4
 
41d5ec4
     assert_equal expected, @ui.output.chomp
41d5ec4
-- 
41d5ec4
1.8.1.2
41d5ec4
41d5ec4
41d5ec4
From b022cef7b2e6c2d138388a6c2db02cca8c408cc6 Mon Sep 17 00:00:00 2001
41d5ec4
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
41d5ec4
Date: Thu, 14 Feb 2013 13:35:20 +0100
41d5ec4
Subject: [PATCH 2/2] Do not add last slash to Gem.user_dir if ruby_version
41d5ec4
 string is empty.
41d5ec4
41d5ec4
---
41d5ec4
 lib/rubygems/defaults.rb  | 4 +++-
41d5ec4
 test/rubygems/test_gem.rb | 6 ++++--
41d5ec4
 2 files changed, 7 insertions(+), 3 deletions(-)
41d5ec4
41d5ec4
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
41d5ec4
index ea84e5c..05c35bb 100644
41d5ec4
--- a/lib/rubygems/defaults.rb
41d5ec4
+++ b/lib/rubygems/defaults.rb
41d5ec4
@@ -54,7 +54,9 @@ module Gem
41d5ec4
   # Path for gems in the user's home directory
41d5ec4
 
41d5ec4
   def self.user_dir
41d5ec4
-    File.join Gem.user_home, '.gem', ruby_engine, ConfigMap[:ruby_version]
41d5ec4
+    parts = [Gem.user_home, '.gem', ruby_engine]
41d5ec4
+    parts << ConfigMap[:ruby_version] unless ConfigMap[:ruby_version].empty?
41d5ec4
+    File.join parts
41d5ec4
   end
41d5ec4
 
41d5ec4
   ##
41d5ec4
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
41d5ec4
index bf77009..9ee78f7 100644
41d5ec4
--- a/test/rubygems/test_gem.rb
41d5ec4
+++ b/test/rubygems/test_gem.rb
41d5ec4
@@ -1186,8 +1186,10 @@ class TestGem < Gem::TestCase
41d5ec4
   end
41d5ec4
 
41d5ec4
   def test_self_user_dir
41d5ec4
-    assert_equal File.join(@userhome, '.gem', Gem.ruby_engine,
41d5ec4
-                           Gem::ConfigMap[:ruby_version]), Gem.user_dir
41d5ec4
+    parts = [@userhome, '.gem', Gem.ruby_engine]
41d5ec4
+    parts << Gem::ConfigMap[:ruby_version] unless Gem::ConfigMap[:ruby_version].empty?
41d5ec4
+
41d5ec4
+    assert_equal File.join(parts), Gem.user_dir
41d5ec4
   end
41d5ec4
 
41d5ec4
   def test_self_user_home
41d5ec4
-- 
41d5ec4
1.8.1.2
41d5ec4