instiki/vendor/plugins/bundler/gems/bundler-1.0.15/spec/update/gems_spec.rb
Jacques Distler 9e909d5be3 Update Rails, rails_xss and Bundler
Update Bundler to 1.0.15.
Update Rails to 2.3.12.
Update rails_xss plugin.

The latter two were the
source of a considerable
amount of grief, as rails_xss
is now MUCH stricter about what
string methods can be used.

Also made it possible to use
rake 0.9.x with Instiki. But
you probably REALLY want to use

 ruby bundle exec rake ...

instead of just saying

 rake ....
2011-06-15 00:43:38 -05:00

122 lines
2.5 KiB
Ruby

require "spec_helper"
describe "bundle update" do
before :each do
build_repo2
install_gemfile <<-G
source "file://#{gem_repo2}"
gem "activesupport"
gem "rack-obama"
G
end
describe "with no arguments" do
it "updates the entire bundle" do
update_repo2 do
build_gem "activesupport", "3.0"
end
bundle "update"
should_be_installed "rack 1.2", "rack-obama 1.0", "activesupport 3.0"
end
it "doesn't delete the Gemfile.lock file if something goes wrong" do
gemfile <<-G
source "file://#{gem_repo2}"
gem "activesupport"
gem "rack-obama"
exit!
G
bundle "update"
bundled_app("Gemfile.lock").should exist
end
end
describe "with a top level dependency" do
it "unlocks all child dependencies that are unrelated to other locked dependencies" do
update_repo2 do
build_gem "activesupport", "3.0"
end
bundle "update rack-obama"
should_be_installed "rack 1.2", "rack-obama 1.0", "activesupport 2.3.5"
end
end
describe "with --local option" do
it "doesn't hit repo2" do
FileUtils.rm_rf(gem_repo2)
bundle "update --local"
out.should_not match(/Fetching source index/)
end
end
end
describe "bundle update in more complicated situations" do
before :each do
build_repo2
end
it "will eagerly unlock dependencies of a specified gem" do
install_gemfile <<-G
source "file://#{gem_repo2}"
gem "thin"
gem "rack-obama"
G
update_repo2 do
build_gem "thin" , '2.0' do |s|
s.add_dependency "rack"
end
end
bundle "update thin"
should_be_installed "thin 2.0", "rack 1.2", "rack-obama 1.0"
end
end
describe "bundle update without a Gemfile.lock" do
it "should not explode" do
build_repo2
gemfile <<-G
source "file://#{gem_repo2}"
gem "rack", "1.0"
G
bundle "update"
should_be_installed "rack 1.0.0"
end
end
describe "bundle update when a gem depends on a newer version of bundler" do
before(:each) do
build_repo2 do
build_gem "rails", "3.0.1" do |s|
s.add_dependency "bundler", Bundler::VERSION.succ
end
end
gemfile <<-G
source "file://#{gem_repo2}"
gem "rails", "3.0.1"
G
end
it "should not explode" do
bundle "update"
err.should be_empty
end
it "should explain that bundler conflicted" do
bundle "update"
out.should_not =~ /In snapshot/
out.should =~ /Current Bundler version/
end
end