diff options
author | Samuel E. Giddins <segiddins@segiddins.me> | 2015-03-16 22:00:22 -0700 |
---|---|---|
committer | Samuel E. Giddins <segiddins@segiddins.me> | 2015-03-16 22:00:22 -0700 |
commit | d8195cb33e124527519db9c2ae04cfaf026af242 (patch) | |
tree | 2659d1aa1bb7b557bd546bb6f757eda02cd2603e | |
parent | 3fc5fa1cea753fcafc2141c6aa8593661da2eefa (diff) | |
download | bundler-d8195cb33e124527519db9c2ae04cfaf026af242.tar.gz |
[Inline] Add some basic specs
-rw-r--r-- | spec/runtime/inline_spec.rb | 90 |
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 |