X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Facceptance%2Fparseyaml_spec.rb;h=4cdf36dc5fc8b80a5ece6b570976d91bd339ce46;hb=6f656bd4265e3dab13b9af2bf96e9044322e9d8f;hp=5819837cfa1aaab11a66c4a42ab7e080d777b473;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/acceptance/parseyaml_spec.rb b/3rdparty/modules/stdlib/spec/acceptance/parseyaml_spec.rb old mode 100755 new mode 100644 index 5819837cf..4cdf36dc5 --- a/3rdparty/modules/stdlib/spec/acceptance/parseyaml_spec.rb +++ b/3rdparty/modules/stdlib/spec/acceptance/parseyaml_spec.rb @@ -1,35 +1,52 @@ -#! /usr/bin/env ruby -S rspec require 'spec_helper_acceptance' -describe 'parseyaml function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do +describe 'parseyaml function' do describe 'success' do - it 'parses valid yaml' do - pp = <<-EOS + pp1 = <<-DOC $a = "---\nhunter: washere\ntests: passing\n" $o = parseyaml($a) $tests = $o['tests'] notice(inline_template('tests are <%= @tests.inspect %>')) - EOS - - apply_manifest(pp, :catch_failures => true) do |r| - expect(r.stdout).to match(/tests are "passing"/) + DOC + it 'parses valid yaml' do + apply_manifest(pp1, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{tests are "passing"}) end end end + describe 'failure' do - it 'raises error on incorrect yaml' do - pp = <<-EOS + pp2 = <<-DOC $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 + DOC + it 'returns the default value on incorrect yaml' do + apply_manifest(pp2, :catch_failures => true) do |r| + expect(r.stdout).to match(%r{tests are "using the default value"}) + end + end - apply_manifest(pp, :expect_failures => true) do |r| - expect(r.stderr).to match(/(syntax error|did not find expected key)/) + pp3 = <<-DOC + $a = "---\nhunter: washere\ntests: passing\n:" + $o = parseyaml($a) + $tests = $o['tests'] + notice(inline_template('tests are <%= @tests.inspect %>')) + DOC + it 'raises error on incorrect yaml' do + apply_manifest(pp3, :expect_failures => true) do |r| + expect(r.stderr).to match(%r{(syntax error|did not find expected key)}) end end - it 'raises error on incorrect number of arguments' + pp4 = <<-DOC + $o = parseyaml() + DOC + it 'raises error on incorrect number of arguments' do + apply_manifest(pp4, :expect_failures => true) do |r| + expect(r.stderr).to match(%r{wrong number of arguments}i) + end + end end end