mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	This changes "test/rubygems/test_case.rb" to "test/rubygems/helper.rb", and "test/rubygems/test_utilities.rb" to "test/rubygems/utilities.rb". The two files are a helper for tests, not test files. However, a file starting with "test_" prefix is handled as a test file directly loaded by test-unit because Rakefile specifies: ``` t.test_files = FileList['test/**/test_*.rb'] ``` Directly loading test/rubygems/test_utilities.rb caused "uninitialized constant Gem::TestCase". This issue was fixed by59c6820971, but the fix caused a "circular require" warning because test_utilities.rb and test_case.rb are now requiring each other. Anyway, adding "test_" prefix to a test helper file is confusing, so this changeset reverts the fix and solve the issue by renaming them.6460e018df
		
			
				
	
	
		
			164 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
require_relative 'helper'
 | 
						|
require 'rubygems/command'
 | 
						|
require 'rubygems/version_option'
 | 
						|
 | 
						|
class TestGemVersionOption < Gem::TestCase
 | 
						|
  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_enables_prerelease
 | 
						|
    @cmd.add_version_option
 | 
						|
 | 
						|
    @cmd.handle_options %w[mygem -v 0.2.0.a]
 | 
						|
    assert @cmd.options[:prerelease]
 | 
						|
 | 
						|
    @cmd.handle_options %w[mygem -v 0.2.0]
 | 
						|
    refute @cmd.options[:prerelease]
 | 
						|
 | 
						|
    @cmd.handle_options %w[mygem]
 | 
						|
    refute @cmd.options[:prerelease]
 | 
						|
  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 = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => false,
 | 
						|
      :prerelease => false,
 | 
						|
      :version => Gem::Requirement.new('> 1'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
  end
 | 
						|
 | 
						|
  def test_version_option_compound
 | 
						|
    @cmd.add_version_option
 | 
						|
 | 
						|
    @cmd.handle_options ['--version', '< 1, > 0.9']
 | 
						|
 | 
						|
    expected = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => false,
 | 
						|
      :prerelease => false,
 | 
						|
      :version => Gem::Requirement.new('< 1', '> 0.9'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
  end
 | 
						|
 | 
						|
  def test_multiple_version_operator_option_compound
 | 
						|
    @cmd.add_version_option
 | 
						|
 | 
						|
    @cmd.handle_options ['--version', '< 1', '--version', '> 0.9']
 | 
						|
 | 
						|
    expected = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => false,
 | 
						|
      :prerelease => false,
 | 
						|
      :version => Gem::Requirement.new('< 1', '> 0.9'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
  end
 | 
						|
 | 
						|
  def test_version_option_explicit_prerelease
 | 
						|
    @cmd.add_prerelease_option
 | 
						|
    @cmd.add_version_option
 | 
						|
 | 
						|
    @cmd.handle_options %w[--pre --version >1]
 | 
						|
 | 
						|
    expected = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => true,
 | 
						|
      :prerelease => true,
 | 
						|
      :version => Gem::Requirement.new('> 1'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
  end
 | 
						|
 | 
						|
  def test_version_option_twice
 | 
						|
    @cmd.add_version_option
 | 
						|
 | 
						|
    @cmd.handle_options %w[--version >1.a]
 | 
						|
 | 
						|
    expected = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => false,
 | 
						|
      :prerelease => true,
 | 
						|
      :version => Gem::Requirement.new('> 1.a'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
 | 
						|
    @cmd.handle_options %w[--version >1]
 | 
						|
 | 
						|
    expected = {
 | 
						|
      :args => [],
 | 
						|
      :explicit_prerelease => false,
 | 
						|
      :prerelease => false,
 | 
						|
      :version => Gem::Requirement.new('> 1'),
 | 
						|
    }
 | 
						|
 | 
						|
    assert_equal expected, @cmd.options
 | 
						|
  end
 | 
						|
end
 |