summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_validator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_validator.rb')
-rw-r--r--test/rubygems/test_gem_validator.rb55
1 files changed, 14 insertions, 41 deletions
diff --git a/test/rubygems/test_gem_validator.rb b/test/rubygems/test_gem_validator.rb
index 58e94bfed0..ab2a9b82a7 100644
--- a/test/rubygems/test_gem_validator.rb
+++ b/test/rubygems/test_gem_validator.rb
@@ -11,53 +11,26 @@ class TestGemValidator < Gem::TestCase
@validator = Gem::Validator.new
end
- def test_verify_gem_file
- gem_file = File.join @tempdir, 'simple_gem.gem'
- File.open gem_file, 'wb' do |fp| fp.write @simple_gem end
-
- assert_equal nil, @validator.verify_gem_file(gem_file)
- end
-
- def test_verify_gem_file_empty
- e = assert_raises Gem::VerificationError do
- @validator.verify_gem_file ''
- end
-
- assert_equal 'missing gem file ', e.message
- end
-
- def test_verify_gem_file_nonexistent
- file = '/nonexistent/nonexistent.gem'
- e = assert_raises Gem::VerificationError do
- @validator.verify_gem_file file
+ def test_alien
+ @spec = quick_gem 'a' do |s|
+ s.files = %w[lib/a.rb lib/b.rb]
end
- assert_equal "missing gem file #{file}", e.message
- end
-
- def test_verify_gem
- assert_equal nil, @validator.verify_gem(@simple_gem)
- end
-
- def test_verify_gem_empty
- e = assert_raises Gem::VerificationError do
- @validator.verify_gem ''
- end
+ util_build_gem @spec
- assert_equal 'empty gem file', e.message
- end
+ FileUtils.rm File.join(@spec.gem_dir, 'lib/b.rb')
+ FileUtils.touch File.join(@spec.gem_dir, 'lib/c.rb')
- def test_verify_gem_invalid_checksum
- e = assert_raises Gem::VerificationError do
- @validator.verify_gem @simple_gem.upcase
- end
+ alien = @validator.alien 'a'
- assert_equal 'invalid checksum for gem file', e.message
- end
+ expected = {
+ @spec.file_name => [
+ Gem::Validator::ErrorData.new('lib/b.rb', 'Missing file'),
+ Gem::Validator::ErrorData.new('lib/c.rb', 'Extra file'),
+ ]
+ }
- def test_verify_gem_no_sum
- assert_equal nil, @validator.verify_gem('words')
+ assert_equal expected, alien
end
-
end