summaryrefslogtreecommitdiffstats
path: root/spec/unit/interface/option_builder_spec.rb
diff options
context:
space:
mode:
authorPieter van de Bruggen <pieter@puppetlabs.com>2011-04-17 22:23:44 -0700
committerDaniel Pittman <daniel@puppetlabs.com>2011-04-17 22:23:44 -0700
commit9d2ec219bbd77bfca48a72b52fe5d0d3fcc0dcf7 (patch)
tree1b01ad690ce899fb688356ac2deb7eed4f50c302 /spec/unit/interface/option_builder_spec.rb
parent0d0318f9f0eadff7f9934d3d02a7081bba05164c (diff)
(#7013) Add support for required options.
This adds another hook into the generated wrapper, which invokes a method to validate arguments. This is used to raise an exception when required options have not been passed to the method. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
Diffstat (limited to 'spec/unit/interface/option_builder_spec.rb')
-rwxr-xr-xspec/unit/interface/option_builder_spec.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/unit/interface/option_builder_spec.rb b/spec/unit/interface/option_builder_spec.rb
index b32b316f6..e9346852c 100755
--- a/spec/unit/interface/option_builder_spec.rb
+++ b/spec/unit/interface/option_builder_spec.rb
@@ -56,5 +56,20 @@ describe Puppet::Interface::OptionBuilder do
end
end.to raise_error ArgumentError, /takes three arguments/
end
+
+ it "should support simple required declarations" do
+ opt = Puppet::Interface::OptionBuilder.build(face, "--foo") do
+ required
+ end
+ opt.should be_required
+ end
+
+ it "should support arguments to the required property" do
+ opt = Puppet::Interface::OptionBuilder.build(face, "--foo") do
+ required(false)
+ end
+ opt.should_not be_required
+ end
+
end
end