summaryrefslogtreecommitdiff
path: root/spec/acceptance/parseyaml_spec.rb
diff options
context:
space:
mode:
authorDmitry Ilyin <dilyin@mirantis.com>2015-08-24 22:00:18 +0300
committerDmitry Ilyin <dilyin@mirantis.com>2015-08-25 21:41:03 +0300
commiteb948c4a0dc36790c5444fc236b0154c3d716c58 (patch)
tree02357ac0aaebe45825bf6fffeb8f0cf9e883cab4 /spec/acceptance/parseyaml_spec.rb
parentf820bb156038f638d8e488286d0c2b92c5636925 (diff)
[MODULES-2462] Improve parseyaml function
* Add default value support Second argument will be returned if yaml cannot be parsed instead of false value * Update tests
Diffstat (limited to 'spec/acceptance/parseyaml_spec.rb')
-rwxr-xr-xspec/acceptance/parseyaml_spec.rb19
1 files changed, 14 insertions, 5 deletions
diff --git a/spec/acceptance/parseyaml_spec.rb b/spec/acceptance/parseyaml_spec.rb
index 5819837..7946de0 100755
--- a/spec/acceptance/parseyaml_spec.rb
+++ b/spec/acceptance/parseyaml_spec.rb
@@ -16,20 +16,29 @@ describe 'parseyaml function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('o
end
end
end
+
describe 'failure' do
- it 'raises error on incorrect yaml' do
+ it 'returns the default value on incorrect yaml' do
pp = <<-EOS
$a = "---\nhunter: washere\ntests: passing\n:"
- $o = parseyaml($a)
+ $o = parseyaml($a, {'tests' => 'using the default value'})
$tests = $o['tests']
notice(inline_template('tests are <%= @tests.inspect %>'))
EOS
- apply_manifest(pp, :expect_failures => true) do |r|
- expect(r.stderr).to match(/(syntax error|did not find expected key)/)
+ apply_manifest(pp, :catch_failures => true) do |r|
+ expect(r.stdout).to match(/tests are "using the default value"/)
end
end
- it 'raises error on incorrect number of arguments'
+ it 'raises error on incorrect number of arguments' do
+ pp = <<-EOS
+ $o = parseyaml()
+ EOS
+
+ apply_manifest(pp, :expect_failures => true) do |r|
+ expect(r.stderr).to match(/wrong number of arguments/i)
+ end
+ end
end
end