summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2016-06-28 15:33:31 -0500
committerSamuel Giddins <segiddins@segiddins.me>2016-06-28 15:33:43 -0500
commitbaa71129d0b9db353fd95f667e050f3839ef1cdb (patch)
treec52b489a8d31653b374bbec9d5debbbdfedd78d4
parent60810bca5a30a8b6b47b9324c91c6192e17a7623 (diff)
downloadbundler-seg-no-aggregate.tar.gz
Fix specs checking for rake sourceseg-no-aggregate
-rw-r--r--spec/install/gemfile/sources_spec.rb29
1 files changed, 21 insertions, 8 deletions
diff --git a/spec/install/gemfile/sources_spec.rb b/spec/install/gemfile/sources_spec.rb
index 259b9b661c..0697974fbe 100644
--- a/spec/install/gemfile/sources_spec.rb
+++ b/spec/install/gemfile/sources_spec.rb
@@ -239,17 +239,30 @@ describe "bundle install with gems on multiple sources" do
context "installing with dependencies from a monorepo" do
def should_be_installed_from_source(names_and_sources)
names_and_sources.each do |full_name, source|
- should_be_installed full_name
- name = full_name.split(" ", 2).first
- run! <<-R
+ name, version = full_name.split(" ", 2)
+ constant_name = Spec::Builders.constantize(name)
+ run! <<-RUBY
begin
- require '#{name}/source.rb'
- puts #{Spec::Builders.constantize(name)}_SOURCE
+ require '#{name}'
+ puts begin
+ #{constant_name}
+ rescue NameError
+ #{name[0].upcase + name[1..-1]}::VERSION
+ end
+ rescue LoadError, NameError
+ puts '-'
+ end
+
+ begin
+ require '#{name}/source'
+ puts #{constant_name}_SOURCE
rescue LoadError, NameError
- puts
+ puts '-'
end
- R
- expect(out).to eq(source.to_s), "#{full_name} came from #{out.inspect} instead of #{source.inspect}"
+ RUBY
+ actual_version, actual_source = out.split("\n")
+ expect(actual_version).to eq(version), "Expected #{name} to be at version #{version}, instead was at #{actual_version}"
+ expect(actual_source).to eq(source || "-"), "#{full_name} came from #{actual_source.inspect} instead of #{source.inspect}"
end
end