diff options
Diffstat (limited to 'trunk/test/rubygems/test_gem_version_option.rb')
-rw-r--r-- | trunk/test/rubygems/test_gem_version_option.rb | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/trunk/test/rubygems/test_gem_version_option.rb b/trunk/test/rubygems/test_gem_version_option.rb new file mode 100644 index 0000000000..30c73390fe --- /dev/null +++ b/trunk/test/rubygems/test_gem_version_option.rb @@ -0,0 +1,77 @@ +require 'test/unit' +require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') +require 'rubygems/command' +require 'rubygems/version_option' + +class TestGemVersionOption < RubyGemTestCase + + def setup + super + + @cmd = Gem::Command.new 'dummy', 'dummy' + @cmd.extend Gem::VersionOption + end + + def test_add_platform_option + @cmd.add_platform_option + + assert @cmd.handles?(%w[--platform x86-darwin]) + end + + def test_add_version_option + @cmd.add_version_option + + assert @cmd.handles?(%w[--version >1]) + end + + def test_platform_option + @cmd.add_platform_option + + @cmd.handle_options %w[--platform x86-freebsd6 --platform x86-freebsd7] + + expected = [ + Gem::Platform::RUBY, + Gem::Platform.new('x86-freebsd6'), + Gem::Platform.new('x86-freebsd7'), + ] + + assert_equal expected, Gem.platforms + end + + def test_platform_option_ruby + @cmd.add_platform_option + + @cmd.handle_options %w[--platform ruby] + + expected = [ + Gem::Platform::RUBY + ] + + assert_equal expected, Gem.platforms + end + + def test_platform_option_twice + @cmd.add_platform_option + + @cmd.handle_options %w[--platform x86-freebsd6 --platform x86-freebsd-6] + + expected = [ + Gem::Platform::RUBY, + Gem::Platform.new('x86-freebsd6'), + ] + + assert_equal expected, Gem.platforms + end + + def test_version_option + @cmd.add_version_option + + @cmd.handle_options %w[--version >1] + + expected = { :version => Gem::Requirement.new('> 1'), :args => [] } + + assert_equal expected, @cmd.options + end + +end + |