diff options
-rw-r--r-- | test/rubygems/test_gem_indexer.rb | 421 |
1 files changed, 400 insertions, 21 deletions
@@ -19,21 +19,45 @@ class TestGemIndexer < RubyGemTestCase util_make_gems - @d2_0 = quick_gem 'd', '2.0' util_build_gem @d2_0 gems = File.join(@tempdir, 'gems') FileUtils.mkdir_p gems cache_gems = File.join @gemhome, 'cache', '*.gem' FileUtils.mv Dir[cache_gems], gems - @indexer = Gem::Indexer.new @tempdir end def test_initialize assert_equal @tempdir, @indexer.dest_directory assert_equal File.join(Dir.tmpdir, "gem_generate_index_#{$$}"), @indexer.directory end def test_build_indicies @@ -137,6 +161,296 @@ pl-1-i386-linux assert_indexed @tempdir, "latest_specs.#{@marshal_version}" assert_indexed @tempdir, "latest_specs.#{@marshal_version}.gz" end def test_generate_index_ui @@ -144,25 +458,25 @@ pl-1-i386-linux @indexer.generate_index end - expected = <<-EOF -Loading 7 gems from #{@tempdir} -....... -Loaded all gems -Generating quick index gemspecs for 7 gems -....... -Complete -Generating specs index -Generating latest specs index -Generating quick index -Generating latest index -Generating Marshal master index -Generating YAML master index for 7 gems (this may take a while) -....... -Complete -Compressing indicies - EOF - assert_equal expected, @ui.output assert_equal '', @ui.error end @@ -248,6 +562,71 @@ Compressing indicies 'identical platforms not identical' end def assert_indexed(dir, name) file = File.join dir, name assert File.exist?(file), "#{file} does not exist" @@ -255,7 +634,7 @@ Compressing indicies def refute_indexed(dir, name) file = File.join dir, name - assert !File.exist?(file), "#{file} exists" end end if ''.respond_to? :to_xs |