Vagrant.configure is now how configuration is done in Vagrantfiles (previously it was Vagrant::Config.run). This function takes a single argument which is the version of configuration to use. Various internals were updated for this new versioned configuration. Note that multiple versions of configuration aren't yet used so aren't fully supported by Vagrant, but the foundation is being set here.
67 lines
1.5 KiB
Ruby
67 lines
1.5 KiB
Ruby
require File.expand_path("../../base", __FILE__)
|
|
|
|
describe Vagrant::Config do
|
|
it "should not execute the proc on configuration" do
|
|
described_class.run do
|
|
raise Exception, "Failure."
|
|
end
|
|
end
|
|
|
|
it "should capture calls to `Vagrant.configure`" do
|
|
receiver = double()
|
|
|
|
procs = described_class.capture_configures do
|
|
Vagrant.configure("1") do
|
|
receiver.one
|
|
end
|
|
|
|
Vagrant.configure("2") do
|
|
receiver.two
|
|
end
|
|
end
|
|
|
|
procs.should be_kind_of(Array)
|
|
procs.length.should == 2
|
|
procs[0][0].should == "1"
|
|
procs[1][0].should == "2"
|
|
|
|
# Verify the proper procs were captured
|
|
receiver.should_receive(:one).once.ordered
|
|
receiver.should_receive(:two).once.ordered
|
|
procs[0][1].call
|
|
procs[1][1].call
|
|
end
|
|
|
|
it "should capture configuration procs" do
|
|
receiver = double()
|
|
|
|
procs = described_class.capture_configures do
|
|
described_class.run do
|
|
receiver.hello!
|
|
end
|
|
end
|
|
|
|
# Verify the structure of the result
|
|
procs.should be_kind_of(Array)
|
|
procs.length.should == 1
|
|
|
|
# Verify that the proper proc was captured
|
|
receiver.should_receive(:hello!).once
|
|
procs[0][0].should == "1"
|
|
procs[0][1].call
|
|
end
|
|
|
|
it "should capture the proper version" do
|
|
procs = described_class.capture_configures do
|
|
described_class.run("1") {}
|
|
described_class.run("2") {}
|
|
end
|
|
|
|
# Verify the structure of the result
|
|
procs.should be_kind_of(Array)
|
|
procs.length.should == 2
|
|
procs[0][0].should == "1"
|
|
procs[1][0].should == "2"
|
|
end
|
|
end
|