diff options
Diffstat (limited to 'jni/ruby/test/rubygems/test_gem_validator.rb')
-rw-r--r-- | jni/ruby/test/rubygems/test_gem_validator.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/jni/ruby/test/rubygems/test_gem_validator.rb b/jni/ruby/test/rubygems/test_gem_validator.rb new file mode 100644 index 0000000..4af8b52 --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_validator.rb @@ -0,0 +1,45 @@ +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_alien + @spec = quick_gem 'a' do |s| + s.files = %w[lib/a.rb lib/b.rb] + end + + util_build_gem @spec + + FileUtils.rm File.join(@spec.gem_dir, 'lib/b.rb') + FileUtils.touch File.join(@spec.gem_dir, 'lib/c.rb') + + alien = @validator.alien 'a' + + expected = { + @spec.file_name => [ + Gem::Validator::ErrorData.new('lib/b.rb', 'Missing file'), + Gem::Validator::ErrorData.new('lib/c.rb', 'Extra file'), + ] + } + + assert_equal expected, alien + end + + def test_alien_default + new_default_spec 'c', 1, nil, 'lib/c.rb' + + alien = @validator.alien 'c' + + assert_empty alien + end + +end + |