Updated RubySpec submodule to 9f66d0b1.
[rbx.git] / test / rubygems / test_gem_validator.rb
blobc910cfdf11b64d63c46ce0939eab84541a42648f
1 #--
2 # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3 # All rights reserved.
4 # See LICENSE.txt for permissions.
5 #++
7 require 'test/unit'
8 require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
9 require File.join(File.expand_path(File.dirname(__FILE__)), 'simple_gem')
10 require 'rubygems/validator'
12 class TestGemValidator < RubyGemTestCase
14   def setup
15     super
17     @simple_gem = SIMPLE_GEM
18     @validator = Gem::Validator.new
19   end
21   def test_verify_gem_file
22     gem_file = File.join @tempdir, 'simple_gem.gem'
23     File.open gem_file, 'wb' do |fp| fp.write @simple_gem end
25     assert_equal nil, @validator.verify_gem_file(gem_file)
26   end
28   def test_verify_gem_file_empty
29     e = assert_raise Gem::VerificationError do
30       @validator.verify_gem_file ''
31     end
33     assert_equal 'missing gem file ', e.message
34   end
36   def test_verify_gem_file_nonexistent
37     file = '/nonexistent/nonexistent.gem'
38     e = assert_raise Gem::VerificationError do
39       @validator.verify_gem_file file
40     end
42     assert_equal "missing gem file #{file}", e.message
43   end
45   def test_verify_gem
46     assert_equal nil, @validator.verify_gem(@simple_gem)
47   end
49   def test_verify_gem_empty
50     e = assert_raise Gem::VerificationError do
51       @validator.verify_gem ''
52     end
54     assert_equal 'empty gem file', e.message
55   end
57   def test_verify_gem_invalid_checksum
58     e = assert_raise Gem::VerificationError do
59       @validator.verify_gem @simple_gem.upcase
60     end
62     assert_equal 'invalid checksum for gem file', e.message
63   end
65   def test_verify_gem_no_sum
66     assert_equal nil, @validator.verify_gem('words')
67   end
69 end