diff options
Diffstat (limited to 'test/rubygems/test_gem_commands_unpack_command.rb')
-rw-r--r-- | test/rubygems/test_gem_commands_unpack_command.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_commands_unpack_command.rb b/test/rubygems/test_gem_commands_unpack_command.rb new file mode 100644 index 0000000000..ff3d4e0eae --- /dev/null +++ b/test/rubygems/test_gem_commands_unpack_command.rb @@ -0,0 +1,55 @@ +require 'test/unit' +require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') +require 'rubygems/commands/unpack_command' + +class TestGemCommandsUnpackCommand < RubyGemTestCase + + def setup + super + + @cmd = Gem::Commands::UnpackCommand.new + end + + def test_execute + util_make_gems + + @cmd.options[:args] = %w[a] + + use_ui @ui do + Dir.chdir @tempdir do + @cmd.execute + end + end + + assert File.exist?(File.join(@tempdir, 'a-0.0.2')) + end + + def test_execute_exact_match + foo_spec = quick_gem 'foo' + foo_bar_spec = quick_gem 'foo_bar' + + use_ui @ui do + Dir.chdir @tempdir do + Gem::Builder.new(foo_spec).build + Gem::Builder.new(foo_bar_spec).build + end + end + + foo_path = File.join(@tempdir, "#{foo_spec.full_name}.gem") + foo_bar_path = File.join(@tempdir, "#{foo_bar_spec.full_name}.gem") + Gem::Installer.new(foo_path).install + Gem::Installer.new(foo_bar_path).install + + @cmd.options[:args] = %w[foo] + + use_ui @ui do + Dir.chdir @tempdir do + @cmd.execute + end + end + + assert File.exist?(File.join(@tempdir, foo_spec.full_name)) + end + +end + |