X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Facceptance%2Fparsejson_spec.rb;h=52133e4366860b358fae2dee8731079a60927817;hb=6963202b4b62c2816655ac9532521b018fdf83bd;hp=509781027269edbbe6e0a16d0b631e897fafa788;hpb=a69999e580f8b3abd12446c2d6ad59e517651813;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/acceptance/parsejson_spec.rb b/3rdparty/modules/stdlib/spec/acceptance/parsejson_spec.rb index 509781027..52133e436 100755 --- a/3rdparty/modules/stdlib/spec/acceptance/parsejson_spec.rb +++ b/3rdparty/modules/stdlib/spec/acceptance/parsejson_spec.rb @@ -1,7 +1,7 @@ #! /usr/bin/env ruby -S rspec require 'spec_helper_acceptance' -describe 'parsejson function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do +describe 'parsejson function' do describe 'success' do it 'parses valid json' do pp = <<-EOS @@ -16,7 +16,20 @@ describe 'parsejson function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('o end end end + describe 'failure' do + it 'raises error on incorrect json' do + pp = <<-EOS + $a = '{"hunter": "washere", "tests": "passing",}' + $ao = parsejson($a, 'tests are using the default value') + notice(inline_template('a is <%= @ao.inspect %>')) + EOS + + 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 json' do pp = <<-EOS $a = '{"hunter": "washere", "tests": "passing",}' @@ -29,6 +42,14 @@ describe 'parsejson function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('o end end - it 'raises error on incorrect number of arguments' + it 'raises error on incorrect number of arguments' do + pp = <<-EOS + $o = parsejson() + EOS + + apply_manifest(pp, :expect_failures => true) do |r| + expect(r.stderr).to match(/wrong number of arguments/i) + end + end end end