summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_indexer.rb
diff options
context:
space:
mode:
-rw-r--r--test/rubygems/test_gem_indexer.rb421
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