spec/dependent_spec.rb in gem-dependent-0.1.7 vs spec/dependent_spec.rb in gem-dependent-0.2.0
- old
+ new
@@ -8,54 +8,62 @@
end
let(:fixture){ YAML.load(File.read('spec/fixtures/gemcutter_specs.yml')) }
let(:hoe_gems){
[
- ["7digital", ["hoe"]],
- ["abingo_port", ["hoe"]],
- ["abundance", ["hoe"]],
- ["actionview-data", ["hoe"]],
- ["active_link_to", ["hoe"]],
- ["activemerchant-paymentech-orbital", ["hoe"]],
- ["active_nomad", ["hoe"]],
- ["active_presenter", ["hoe"]],
- ["activerecord-fast-import", ["hoe"]],
+ ["_", ["hoe"]],
+ ["1234567890_", ["hoe"]],
+ ["actionmailer-javamail", ["hoe"]],
+ ["ActiveExcel", ["hoe"]],
+ ["activefacts", ["hoe"]],
+ ["activeldap", ["hoe"]],
+ ["active_mac", ["hoe"]],
+ ["activemdb", ["hoe"]],
+ ["activerdf_rules", ["hoe"]],
["activerecord-jdbc-adapter", ["hoe"]]
]
}
- def simplify(dependencies)
- dependencies.map{|name, deps| [name, deps.map{|d| d.name}] }
+ def simplify_gem_results(dependencies)
+ dependencies.map{|name, version, deps| [name, deps.map{|d| d.name}] }
end
- def stub_source(gem_source = nil)
- gem_source ||= 'http://gemcutter.org'
- Gem::SpecFetcher.fetcher.should_receive(:load_specs).with(URI.parse(gem_source), 'specs').and_return(fixture)
+ def stub_source(options={})
+ gem_source = options[:source] || 'http://gemcutter.org'
+ if !options[:live]
+ Gem::SpecFetcher.fetcher.should_receive(:load_specs).with(URI.parse(gem_source), 'specs').and_return(fixture)
+ end
Gem.sources = [gem_source]
end
it 'finds dependencies for given gem' do
stub_source
- dependencies = simplify(Gem::Dependent.find('hoe'))
+ dependencies = simplify_gem_results(Gem::Dependent.find('hoe'))
dependencies.should == hoe_gems
end
it "obeys fetch-limit" do
stub_source
- dependencies = simplify(Gem::Dependent.find('hoe', :fetch_limit => 100))
- dependencies.should == hoe_gems.first(4)
+ dependencies = simplify_gem_results(Gem::Dependent.find('hoe', :fetch_limit => 100))
+ dependencies.should == hoe_gems.first(3)
end
it "can use given source" do
source = 'http://rubygems.org'
- stub_source(source)
+ stub_source(:source => source)
Gem::Dependent.find('hoe', :source => source)
end
it "obeys parallel option" do
stub_source
Gem::Dependent::Parallel.should_receive(:map).with(anything, :in_processes => 3).and_return []
Gem::Dependent.find('hoe', :parallel => 3)
+ end
+
+ it "obeys all versions option" do
+ stub_source :live => true
+ Gem::Dependent.should_receive(:all_specs_and_sources).with(:all_versions => true)
+ Gem::Dependent.find('hoe', :all_versions => true)
end
it "has a VERSION" do
Gem::Dependent::VERSION.should =~ /^\d+\.\d+\.\d+$/
end