1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
require 'rubygems/test_case'
require "rubygems/simple_gem"
require 'rubygems/validator'
class TestGemValidator < Gem::TestCase
def setup
super
@simple_gem = SIMPLE_GEM
@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
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
assert_equal 'empty gem file', e.message
end
def test_verify_gem_invalid_checksum
e = assert_raises Gem::VerificationError do
@validator.verify_gem @simple_gem.upcase
end
assert_equal 'invalid checksum for gem file', e.message
end
def test_verify_gem_no_sum
assert_equal nil, @validator.verify_gem('words')
end
end
|