1require 'rubygems/source_list' 2require 'rubygems/test_case' 3 4class TestGemSourceList < Gem::TestCase 5 def setup 6 super 7 8 @uri = "http://example" 9 @source = Gem::Source.new(@uri) 10 11 @sl = Gem::SourceList.new 12 @sl << @source 13 end 14 15 def test_self_from 16 sl = Gem::SourceList.from [@uri] 17 18 assert_equal [Gem::Source.new(@uri)], sl.sources 19 end 20 21 def test_append 22 sl = Gem::SourceList.new 23 source = (sl << @uri) 24 25 assert_kind_of Gem::Source, source 26 27 assert_kind_of URI, source.uri 28 assert_equal source.uri.to_s, @uri 29 30 assert_equal [source], sl.sources 31 end 32 33 def test_replace 34 sl = Gem::SourceList.new 35 sl.replace [@uri] 36 37 assert_equal [@source], sl.sources 38 end 39 40 def test_each 41 @sl.each do |x| 42 assert_equal @uri, x 43 end 44 end 45 46 def test_each_source 47 @sl.each_source do |x| 48 assert_equal @source, x 49 end 50 end 51 52 def test_equal_to_another_list 53 sl2 = Gem::SourceList.new 54 sl2 << Gem::Source.new(@uri) 55 56 assert @sl == sl2, "lists not equal" 57 end 58 59 def test_equal_to_array 60 assert @sl == [@uri], "lists not equal" 61 end 62 63 def test_to_a 64 assert_equal @sl.to_a, [@uri] 65 end 66 67 def test_include_eh 68 assert @sl.include?(@uri), "string comparison not working" 69 assert @sl.include?(URI.parse(@uri)), "uri comparison not working" 70 end 71 72 def test_include_matches_a_source 73 assert @sl.include?(@source), "source comparison not working" 74 assert @sl.include?(Gem::Source.new(@uri)), "source comparison not working" 75 end 76 77 def test_delete 78 @sl.delete @uri 79 assert_equal @sl.sources, [] 80 end 81 82 def test_delete_a_source 83 @sl.delete Gem::Source.new(@uri) 84 assert_equal @sl.sources, [] 85 end 86 87end 88