50 lines
1.3 KiB
Ruby
50 lines
1.3 KiB
Ruby
require "test_helper"
|
|
|
|
class CommandBaseTest < Test::Unit::TestCase
|
|
setup do
|
|
@klass = Vagrant::Command::Base
|
|
@env = mock_environment
|
|
end
|
|
|
|
context "extracting a name from a usage string" do
|
|
should "extract properly" do
|
|
assert_equal "init", @klass.extract_name_from_usage("init")
|
|
assert_equal "init", @klass.extract_name_from_usage("init [foo] [bar]")
|
|
end
|
|
end
|
|
|
|
context "setting up a UI" do
|
|
setup do
|
|
@env.ui = nil
|
|
end
|
|
|
|
should "setup a shell UI" do
|
|
silence_stream(STDOUT) { @klass.start([], :env => @env) }
|
|
assert @env.ui.is_a?(Vagrant::UI::Shell)
|
|
end
|
|
|
|
should "setup a shell UI only once" do
|
|
silence_stream(STDOUT) { @klass.start([], :env => @env) }
|
|
ui = @env.ui
|
|
silence_stream(STDOUT) { @klass.start([], :env => @env) }
|
|
assert @env.ui.equal?(ui)
|
|
end
|
|
end
|
|
|
|
context "requiring an environment" do
|
|
should "raise an exception if the environment is not sent in" do
|
|
assert_raises(Vagrant::CLIMissingEnvironment) {
|
|
@klass.start([])
|
|
}
|
|
end
|
|
|
|
should "not raise an exception if the environment is properly sent in" do
|
|
silence_stream(STDOUT) do
|
|
assert_nothing_raised {
|
|
@klass.start([], :env => @env)
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|