summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel E. Giddins <segiddins@segiddins.me>2015-03-16 22:00:22 -0700
committerSamuel E. Giddins <segiddins@segiddins.me>2015-03-16 22:00:22 -0700
commitd8195cb33e124527519db9c2ae04cfaf026af242 (patch)
tree2659d1aa1bb7b557bd546bb6f757eda02cd2603e
parent3fc5fa1cea753fcafc2141c6aa8593661da2eefa (diff)
downloadbundler-d8195cb33e124527519db9c2ae04cfaf026af242.tar.gz
[Inline] Add some basic specs
-rw-r--r--spec/runtime/inline_spec.rb90
1 files changed, 90 insertions, 0 deletions
diff --git a/spec/runtime/inline_spec.rb b/spec/runtime/inline_spec.rb
new file mode 100644
index 0000000000..d7e613f1af
--- /dev/null
+++ b/spec/runtime/inline_spec.rb
@@ -0,0 +1,90 @@
+require "spec_helper"
+
+describe "bundler/inline#gemfile" do
+ def script(code, options = {})
+ @out = ruby("require 'bundler/inline'\n\n" << code, options)
+ end
+
+ before :each do
+ build_lib "one", "1.0.0" do |s|
+ s.write "lib/baz.rb", "puts 'baz'"
+ s.write "lib/qux.rb", "puts 'qux'"
+ end
+
+ build_lib "two", "1.0.0" do |s|
+ s.write "lib/two.rb", "puts 'two'"
+ s.add_dependency "three", "= 1.0.0"
+ end
+
+ build_lib "three", "1.0.0" do |s|
+ s.write "lib/three.rb", "puts 'three'"
+ s.add_dependency "seven", "= 1.0.0"
+ end
+
+ build_lib "four", "1.0.0" do |s|
+ s.write "lib/four.rb", "puts 'four'"
+ end
+
+ build_lib "five", "1.0.0", :no_default => true do |s|
+ s.write "lib/mofive.rb", "puts 'five'"
+ end
+
+ build_lib "six", "1.0.0" do |s|
+ s.write "lib/six.rb", "puts 'six'"
+ end
+
+ build_lib "seven", "1.0.0" do |s|
+ s.write "lib/seven.rb", "puts 'seven'"
+ end
+
+ build_lib "eight", "1.0.0" do |s|
+ s.write "lib/eight.rb", "puts 'eight'"
+ end
+
+ build_lib "four", "1.0.0" do |s|
+ s.write "lib/four.rb", "puts 'four'"
+ end
+
+ @gemfile = <<-G
+ path "#{lib_path}"
+ gem "two"
+ gem "four", :require => false
+ G
+ end
+
+ it "requires the gems" do
+ script <<-RUBY
+ gemfile do
+ path "#{lib_path}"
+ gem "two"
+ end
+
+ puts "success"
+ RUBY
+
+ expect(out).to eq("two\nsuccess")
+
+ script <<-RUBY, :expect_err => true
+ gemfile do
+ path "#{lib_path}"
+ gem "eleven"
+ end
+
+ puts "success"
+ RUBY
+
+ expect(err).to include "Could not find gem 'eleven (>= 0) ruby'"
+ expect(out).not_to include "success"
+
+ script <<-RUBY
+ gemfile(true) do
+ source "file://#{gem_repo1}"
+ gem "rack"
+ end
+
+ puts "success"
+ RUBY
+
+ expect(out).to eq("Rack's post install message\nsuccess")
+ end
+end