diff options
author | Ashley Penney <ashley.penney@puppetlabs.com> | 2014-05-01 18:56:29 -0400 |
---|---|---|
committer | Ashley Penney <ashley.penney@puppetlabs.com> | 2014-05-01 18:56:29 -0400 |
commit | 143a0078b01fdde118b19e89486b96644f1d5d7e (patch) | |
tree | 6bc2e63858bbbd2ce77c0d32bc35013c8b157888 /spec/acceptance/pick_default_spec.rb | |
parent | f8bfe46bbfa4a4737cef9a20cfe1bed04aee4bdc (diff) | |
parent | 80590a9bfe2a8c0d288125d17cfb9f01c8563a7a (diff) |
Merge pull request #244 from hunner/add_tests
Add more specs
Diffstat (limited to 'spec/acceptance/pick_default_spec.rb')
-rw-r--r-- | spec/acceptance/pick_default_spec.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/acceptance/pick_default_spec.rb b/spec/acceptance/pick_default_spec.rb new file mode 100644 index 0000000..e94a999 --- /dev/null +++ b/spec/acceptance/pick_default_spec.rb @@ -0,0 +1,53 @@ +require 'spec_helper_acceptance' + +describe 'pick_default function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do + describe 'success' do + it 'pick_defaults a default value' do + pp = <<-EOS + $a = undef + $o = pick_default($a, 'default') + notice(inline_template('picked is <%= @o.inspect %>')) + EOS + + apply_manifest(pp, :catch_failures => true) do |r| + expect(r.stdout).to match(/picked is "default"/) + end + end + it 'pick_defaults with no value' do + pp = <<-EOS + $a = undef + $b = undef + $o = pick_default($a,$b) + notice(inline_template('picked is <%= @o.inspect %>')) + EOS + + apply_manifest(pp, :catch_failures => true) do |r| + expect(r.stdout).to match(/picked is ""/) + end + end + it 'pick_defaults the first set value' do + pp = <<-EOS + $a = "something" + $b = "long" + $o = pick_default($a, $b, 'default') + notice(inline_template('picked is <%= @o.inspect %>')) + EOS + + apply_manifest(pp, :catch_failures => true) do |r| + expect(r.stdout).to match(/picked is "something"/) + end + end + end + describe 'failure' do + it 'raises error with no values' do + pp = <<-EOS + $o = pick_default() + notice(inline_template('picked is <%= @o.inspect %>')) + EOS + + apply_manifest(pp, :expect_failures => true) do |r| + expect(r.stderr).to match(/Must receive at least one argument/) + end + end + end +end |