diff options
Diffstat (limited to 'trunk/test/rubygems/test_gem_requirement.rb')
-rw-r--r-- | trunk/test/rubygems/test_gem_requirement.rb | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/trunk/test/rubygems/test_gem_requirement.rb b/trunk/test/rubygems/test_gem_requirement.rb deleted file mode 100644 index c441bd16df..0000000000 --- a/trunk/test/rubygems/test_gem_requirement.rb +++ /dev/null @@ -1,223 +0,0 @@ -#-- -# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. -# All rights reserved. -# See LICENSE.txt for permissions. -#++ - -require 'test/unit' -require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities') -require 'rubygems/version' - -class TestGemRequirement < RubyGemTestCase - - def setup - super - - @r1_2 = Gem::Requirement.new '= 1.2' - @r1_3 = Gem::Requirement.new '= 1.3' - end - - def test_initialize - r = Gem::Requirement.new '2' - assert_equal '= 2', r.to_s, 'String' - - r = Gem::Requirement.new %w[2] - assert_equal '= 2', r.to_s, 'Array of Strings' - - r = Gem::Requirement.new Gem::Version.new('2') - assert_equal '= 2', r.to_s, 'Gem::Version' - end - - def test_equals2 - assert_equal @r1_2, @r1_2.dup - assert_equal @r1_2.dup, @r1_2 - - assert_not_equal @r1_3, @r1_2 - assert_not_equal @r1_2, @r1_3 - - assert_not_equal Object.new, @r1_2 - assert_not_equal @r1_2, Object.new - end - - def test_hash - assert_equal @r1_2.hash, @r1_2.dup.hash - assert_equal @r1_2.dup.hash, @r1_2.hash - - assert_not_equal @r1_2.hash, @r1_3.hash - assert_not_equal @r1_3.hash, @r1_2.hash - end - - # We may get some old gems that have requirements in old formats. - # We need to be able to handle those old requirements by normalizing - # them to the latest format. - def test_normalization - require 'yaml' - yamldep = %{--- !ruby/object:Gem::Requirement - nums: - - 1 - - 0 - - 4 - op: ">=" - version: ">= 1.0.4"} - dep = YAML.load(yamldep) - dep.normalize - assert_equal ">= 1.0.4", dep.to_s - end - - def test_parse - assert_equal ['=', Gem::Version.new(1)], @r1_2.parse(' 1') - - assert_equal ['=', Gem::Version.new(1)], @r1_2.parse('= 1') - assert_equal ['>', Gem::Version.new(1)], @r1_2.parse('> 1') - - assert_equal ['=', Gem::Version.new(0)], @r1_2.parse('=') - assert_equal ['>', Gem::Version.new(0)], @r1_2.parse('>') - - assert_equal ['=', Gem::Version.new(1)], @r1_2.parse("=\n1") - assert_equal ['=', Gem::Version.new(0)], @r1_2.parse("=\njunk") - - assert_equal ['=', Gem::Version.new(2)], @r1_2.parse(Gem::Version.new('2')) - end - - def test_parse_illformed - e = assert_raise ArgumentError do - @r1_2.parse(nil) - end - - assert_equal 'Illformed requirement [nil]', e.message - - e = assert_raise ArgumentError do - @r1_2.parse('') - end - - assert_equal 'Illformed requirement [""]', e.message - end - - def test_satisfied_by_eh_bang_equal - r1_2 = Gem::Requirement.new '!= 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal true, r1_2.satisfied_by?(nil) - assert_equal true, r1_2.satisfied_by?(v1_1) - assert_equal false, r1_2.satisfied_by?(v1_2) - assert_equal true, r1_2.satisfied_by?(v1_3) - end - - def test_satisfied_by_eh_blank - r1_2 = Gem::Requirement.new '1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r1_2.satisfied_by?(nil) - assert_equal false, r1_2.satisfied_by?(v1_1) - assert_equal true, r1_2.satisfied_by?(v1_2) - assert_equal false, r1_2.satisfied_by?(v1_3) - end - - def test_satisfied_by_eh_equal - r1_2 = @r1_2 - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r1_2.satisfied_by?(nil) - assert_equal false, r1_2.satisfied_by?(v1_1) - assert_equal true, r1_2.satisfied_by?(v1_2) - assert_equal false, r1_2.satisfied_by?(v1_3) - end - - def test_satisfied_by_eh_gt - r1_2 = Gem::Requirement.new '> 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r1_2.satisfied_by?(v1_1) - assert_equal false, r1_2.satisfied_by?(v1_2) - assert_equal true, r1_2.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r1_2.satisfied_by?(nil) - end - end - - def test_satisfied_by_eh_gte - r1_2 = Gem::Requirement.new '>= 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r1_2.satisfied_by?(v1_1) - assert_equal true, r1_2.satisfied_by?(v1_2) - assert_equal true, r1_2.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r1_2.satisfied_by?(nil) - end - end - - def test_satisfied_by_eh_list - r = Gem::Requirement.create(['> 1.1', '< 1.3']) - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r.satisfied_by?(v1_1) - assert_equal true, r.satisfied_by?(v1_2) - assert_equal false, r.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r.satisfied_by?(nil) - end - end - - def test_satisfied_by_eh_lt - r1_2 = Gem::Requirement.new '< 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal true, r1_2.satisfied_by?(v1_1) - assert_equal false, r1_2.satisfied_by?(v1_2) - assert_equal false, r1_2.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r1_2.satisfied_by?(nil) - end - end - - def test_satisfied_by_eh_lte - r1_2 = Gem::Requirement.new '<= 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal true, r1_2.satisfied_by?(v1_1) - assert_equal true, r1_2.satisfied_by?(v1_2) - assert_equal false, r1_2.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r1_2.satisfied_by?(nil) - end - end - - def test_satisfied_by_eh_tilde_gt - r1_2 = Gem::Requirement.new '~> 1.2' - v1_1 = Gem::Version.new '1.1' - v1_2 = Gem::Version.new '1.2' - v1_3 = Gem::Version.new '1.3' - - assert_equal false, r1_2.satisfied_by?(v1_1) - assert_equal true, r1_2.satisfied_by?(v1_2) - assert_equal true, r1_2.satisfied_by?(v1_3) - - assert_raise NoMethodError do - assert_equal true, r1_2.satisfied_by?(nil) - end - end - -end - |