1require 'rubygems/test_case'
2require "rubygems/simple_gem"
3require 'rubygems/validator'
4
5class TestGemValidator < Gem::TestCase
6
7  def setup
8    super
9
10    @simple_gem = SIMPLE_GEM
11    @validator = Gem::Validator.new
12  end
13
14  def test_alien
15    @spec = quick_gem 'a' do |s|
16      s.files = %w[lib/a.rb lib/b.rb]
17    end
18
19    util_build_gem @spec
20
21    FileUtils.rm    File.join(@spec.gem_dir, 'lib/b.rb')
22    FileUtils.touch File.join(@spec.gem_dir, 'lib/c.rb')
23
24    alien = @validator.alien 'a'
25
26    expected = {
27      @spec.file_name => [
28        Gem::Validator::ErrorData.new('lib/b.rb', 'Missing file'),
29        Gem::Validator::ErrorData.new('lib/c.rb', 'Extra file'),
30      ]
31    }
32
33    assert_equal expected, alien
34  end
35end
36
37