diff options
Diffstat (limited to 'spec/unit/interface/action_builder_spec.rb')
-rw-r--r-- | spec/unit/interface/action_builder_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/unit/interface/action_builder_spec.rb b/spec/unit/interface/action_builder_spec.rb new file mode 100644 index 000000000..39b2386dc --- /dev/null +++ b/spec/unit/interface/action_builder_spec.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby + +require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') +require 'puppet/interface/action_builder' + +describe Puppet::Interface::ActionBuilder do + describe "::build" do + it "should build an action" do + action = Puppet::Interface::ActionBuilder.build(nil,:foo) do + end + action.should be_a(Puppet::Interface::Action) + action.name.should == "foo" + end + + it "should define a method on the interface which invokes the action" do + interface = Puppet::Interface.new(:action_builder_test_interface) + action = Puppet::Interface::ActionBuilder.build(interface, :foo) do + invoke do + "invoked the method" + end + end + + interface.foo.should == "invoked the method" + end + + it "should require a block" do + lambda { Puppet::Interface::ActionBuilder.build(nil,:foo) }.should raise_error("Action 'foo' must specify a block") + end + end +end |