Change soft-fail to use the config, rather than env
[rbx.git] / test / rubygems / test_gem_uninstaller.rb
blobaadf0a39c8e49d74acfe8b36e05461f011029459
1 require File.join(File.expand_path(File.dirname(__FILE__)),
2                   'gem_installer_test_case')
3 require 'rubygems/uninstaller'
5 class TestGemUninstaller < GemInstallerTestCase
7   def setup
8     super
10     ui = MockGemUi.new
11     util_setup_gem ui
13     use_ui ui do
14       @installer.install
15     end
16   end
18   def test_initialize_expand_path
19     uninstaller = Gem::Uninstaller.new nil, :install_dir => '/foo//bar'
21     assert_match %r|/foo/bar$|, uninstaller.instance_variable_get(:@gem_home)
22   end
24   def test_remove_executables_force_keep
25     uninstaller = Gem::Uninstaller.new nil, :executables => false
27     use_ui @ui do
28       uninstaller.remove_executables @spec
29     end
31     assert_equal true, File.exist?(File.join(@gemhome, 'bin', 'executable'))
33     assert_equal "Executables and scripts will remain installed.\n", @ui.output
34   end
36   def test_remove_executables_force_remove
37     uninstaller = Gem::Uninstaller.new nil, :executables => true
39     use_ui @ui do
40       uninstaller.remove_executables @spec
41     end
43     assert_equal "Removing executable\n", @ui.output
45     assert_equal false, File.exist?(File.join(@gemhome, 'bin', 'executable'))
46   end
48   def test_path_ok_eh
49     uninstaller = Gem::Uninstaller.new nil
51     assert_equal true, uninstaller.path_ok?(@spec)
52   end
54   def test_path_ok_eh_legacy
55     uninstaller = Gem::Uninstaller.new nil
57     @spec.loaded_from.gsub! @spec.full_name, '\&-legacy'
58     @spec.platform = 'legacy'
60     assert_equal true, uninstaller.path_ok?(@spec)
61   end
63 end