diff options
Diffstat (limited to 'test/rubygems/test_gem_validator.rb')
-rw-r--r-- | test/rubygems/test_gem_validator.rb | 55 |
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 |