diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-31 22:40:06 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-31 22:40:06 +0000 |
commit | 8cc45aae947d453acca029e13eb64f3f5f0bf942 (patch) | |
tree | f9485a20c99defe1aae3f32555a41d23c2298ad8 /test/rubygems/test_gem_source_info_cache_entry.rb | |
parent | dc8359969ec71ece10357ba9396430db7f029e45 (diff) | |
download | ruby-8cc45aae947d453acca029e13eb64f3f5f0bf942.tar.gz |
Import RubyGems 1.1.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_source_info_cache_entry.rb')
-rw-r--r-- | test/rubygems/test_gem_source_info_cache_entry.rb | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/test/rubygems/test_gem_source_info_cache_entry.rb b/test/rubygems/test_gem_source_info_cache_entry.rb index 023baf948b..c1194e34bc 100644 --- a/test/rubygems/test_gem_source_info_cache_entry.rb +++ b/test/rubygems/test_gem_source_info_cache_entry.rb @@ -9,37 +9,68 @@ class TestGemSourceInfoCacheEntry < RubyGemTestCase util_setup_fake_fetcher - @si = Gem::SourceIndex.new @gem1.full_name => @gem1.name + @si = Gem::SourceIndex.new + @si.add_spec @a1 @sic_e = Gem::SourceInfoCacheEntry.new @si, @si.dump.size end def test_refresh @fetcher.data["#{@gem_repo}/Marshal.#{@marshal_version}.Z"] = - proc { raise Exception } + proc { raise } @fetcher.data["#{@gem_repo}/Marshal.#{@marshal_version}"] = @si.dump - assert_nothing_raised do - @sic_e.refresh @gem_repo + use_ui @ui do + @sic_e.refresh @gem_repo, true + end + end + + def test_refresh_all + @si.add_spec @a2 + + a1_name = @a1.full_name + a2_name = @a2.full_name + + @fetcher.data["#{@gem_repo}/quick/index.rz"] = + util_zip [a1_name, a2_name].join("\n") + @fetcher.data["#{@gem_repo}/quick/latest_index.rz"] = util_zip a2_name + @fetcher.data["#{@gem_repo}/quick/Marshal.#{Gem.marshal_version}/#{a1_name}.gemspec.rz"] = util_zip Marshal.dump(@a1) + @fetcher.data["#{@gem_repo}/quick/Marshal.#{Gem.marshal_version}/#{a2_name}.gemspec.rz"] = util_zip Marshal.dump(@a2) + @fetcher.data["#{@gem_repo}/Marshal.#{Gem.marshal_version}"] = + Marshal.dump @si + + sic_e = Gem::SourceInfoCacheEntry.new Gem::SourceIndex.new, 0 + + use_ui @ui do + sic_e.refresh @gem_repo, false end + + assert_equal [a2_name], sic_e.source_index.map { |n,| n }.sort + + use_ui @ui do + sic_e.refresh @gem_repo, true + end + + assert_equal [a1_name, a2_name], sic_e.source_index.map { |n,| n }.sort end def test_refresh_bad_uri assert_raise URI::BadURIError do - @sic_e.refresh 'gems.example.com' + @sic_e.refresh 'gems.example.com', true end end def test_refresh_update - si = Gem::SourceIndex.new @gem1.full_name => @gem1, - @gem2.full_name => @gem2 + si = Gem::SourceIndex.new + si.add_spec @a1 + si.add_spec @b2 @fetcher.data["#{@gem_repo}/Marshal.#{@marshal_version}"] = si.dump use_ui @ui do - @sic_e.refresh @gem_repo + @sic_e.refresh @gem_repo, true end - new_gem = @sic_e.source_index.specification(@gem2.full_name) - assert_equal @gem2.full_name, new_gem.full_name + new_gem = @sic_e.source_index.specification(@b2.full_name) + assert_equal @b2.full_name, new_gem.full_name end end |