diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/rubygems/installer.rb | 1 | ||||
-rw-r--r-- | test/rubygems/test_gem_installer.rb | 18 |
3 files changed, 28 insertions, 0 deletions
@@ -1,3 +1,12 @@ +Tue Feb 19 14:08:46 2013 Eric Hodel <drbrain@segment7.net> + + * backport r39307 from trunk. [Bug #7880] + + * lib/rubygems/installer.rb: Fixed placement of executables with + --user-install. [ruby-trunk - Bug #7779] + + * test/rubygems/test_gem_installer.rb: Test for above. + Tue Feb 19 13:57:26 2013 Eric Hodel <drbrain@segment7.net> * backport r39247 from trunk. [Bug #7853] diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index 780a88b04c..a9ab4c7a5b 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -110,6 +110,7 @@ class Gem::Installer if options[:user_install] and not options[:unpack] then @gem_home = Gem.user_dir + @bin_dir = Gem.bindir gem_home unless options[:bin_dir] check_that_user_bin_dir_is_in_path end end diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index 40345048ac..fc8d1a7782 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -661,6 +661,24 @@ load Gem.bin_path('a', 'executable', version) installer = Gem::Installer.new gem assert_equal File.join(@gemhome, 'gems', spec.full_name), installer.gem_dir + assert_equal File.join(@gemhome, 'bin'), installer.bin_dir + end + + def test_initialize_user_install + installer = Gem::Installer.new @gem, :user_install => true + + assert_equal File.join(Gem.user_dir, 'gems', @spec.full_name), + installer.gem_dir + assert_equal Gem.bindir(Gem.user_dir), installer.bin_dir + end + + def test_initialize_user_install_bin_dir + installer = + Gem::Installer.new @gem, :user_install => true, :bin_dir => @tempdir + + assert_equal File.join(Gem.user_dir, 'gems', @spec.full_name), + installer.gem_dir + assert_equal @tempdir, installer.bin_dir end def test_install |