diff options
Diffstat (limited to 'spec/functions')
-rwxr-xr-x | spec/functions/parsejson_spec.rb | 6 | ||||
-rwxr-xr-x | spec/functions/parseyaml_spec.rb | 17 |
2 files changed, 16 insertions, 7 deletions
diff --git a/spec/functions/parsejson_spec.rb b/spec/functions/parsejson_spec.rb index 5bea8af..a01f1f6 100755 --- a/spec/functions/parsejson_spec.rb +++ b/spec/functions/parsejson_spec.rb @@ -41,10 +41,10 @@ describe 'parsejson' do end - context 'with incorrect YAML data' do - it 'should return "nil" if a default value should be returned but is not provided' do + context 'with incorrect JSON data' do + it 'should raise an error with invalid JSON and no default' do is_expected.to run.with_params(''). - and_return(nil) + and_raise_error(PSON::ParserError) end it 'should support a structure for a default value' do diff --git a/spec/functions/parseyaml_spec.rb b/spec/functions/parseyaml_spec.rb index 492a1c9..fa947ca 100755 --- a/spec/functions/parseyaml_spec.rb +++ b/spec/functions/parseyaml_spec.rb @@ -40,12 +40,21 @@ describe 'parseyaml' do end - context 'with incorrect YAML data' do - it 'should return "nil" if a default value should be returned but is not provided' do - is_expected.to run.with_params(''). - and_return(nil) + context 'on a modern ruby', :unless => RUBY_VERSION == '1.8.7' do + it 'should raise an error with invalid YAML and no default' do + is_expected.to run.with_params('["one"'). + and_raise_error(Psych::SyntaxError) + end + end + + context 'when running on ruby 1.8.7, which does not have Psych', :if => RUBY_VERSION == '1.8.7' do + it 'should raise an error with invalid YAML and no default' do + is_expected.to run.with_params('["one"'). + and_raise_error(ArgumentError) + end end + context 'with incorrect YAML data' do it 'should support a structure for a default value' do is_expected.to run.with_params('', {'a' => '1'}). and_return({'a' => '1'}) |