summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_commands_unpack_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_commands_unpack_command.rb')
-rw-r--r--test/rubygems/test_gem_commands_unpack_command.rb48
1 files changed, 46 insertions, 2 deletions
diff --git a/test/rubygems/test_gem_commands_unpack_command.rb b/test/rubygems/test_gem_commands_unpack_command.rb
index 821ff576ba..f81a84e3ac 100644
--- a/test/rubygems/test_gem_commands_unpack_command.rb
+++ b/test/rubygems/test_gem_commands_unpack_command.rb
@@ -22,8 +22,8 @@ class TestGemCommandsUnpackCommand < RubyGemTestCase
end
end
- assert File.exist?(File.join(@tempdir, 'a-3.a')), 'a should be installed'
- assert File.exist?(File.join(@tempdir, 'b-2')), 'b should be installed'
+ assert File.exist?(File.join(@tempdir, 'a-3.a')), 'a should be unpacked'
+ assert File.exist?(File.join(@tempdir, 'b-2')), 'b should be unpacked'
end
def test_execute_gem_path
@@ -49,6 +49,7 @@ class TestGemCommandsUnpackCommand < RubyGemTestCase
def test_execute_gem_path_missing
util_make_gems
+ util_setup_spec_fetcher
Gem.clear_paths
@@ -68,6 +69,49 @@ class TestGemCommandsUnpackCommand < RubyGemTestCase
assert_equal '', @ui.output
end
+ def test_execute_remote
+ util_setup_fake_fetcher
+ util_setup_spec_fetcher @a1, @a2
+ util_clear_gems
+
+ a2_data = nil
+ open File.join(@gemhome, 'cache', @a2.file_name), 'rb' do |fp|
+ a2_data = fp.read
+ end
+
+ Gem::RemoteFetcher.fetcher.data['http://gems.example.com/gems/a-2.gem'] =
+ a2_data
+
+ Gem.configuration.verbose = :really
+ @cmd.options[:args] = %w[a]
+
+ use_ui @ui do
+ Dir.chdir @tempdir do
+ @cmd.execute
+ end
+ end
+
+ assert File.exist?(File.join(@tempdir, 'a-2')), 'a should be unpacked'
+ end
+
+ def test_execute_sudo
+ util_make_gems
+
+ File.chmod 0555, @gemhome
+
+ @cmd.options[:args] = %w[b]
+
+ use_ui @ui do
+ Dir.chdir @tempdir do
+ @cmd.execute
+ end
+ end
+
+ assert File.exist?(File.join(@tempdir, 'b-2')), 'b should be unpacked'
+ ensure
+ File.chmod 0755, @gemhome
+ end
+
def test_execute_with_target_option
util_make_gems