summaryrefslogtreecommitdiff
path: root/spec/functions/parseyaml_spec.rb
blob: fb635f8ee382ed4712d7d60148f7af30be96dc21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require 'spec_helper'

describe 'parseyaml' do
  it { is_expected.not_to eq(nil) }
  it { is_expected.to run.with_params().and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
  it { is_expected.to run.with_params('', '').and_raise_error(Puppet::ParseError, /wrong number of arguments/i) }
  it { is_expected.to run.with_params('["one", "two", "three"]').and_return(['one', 'two', 'three']) }
  context 'when running on modern rubies', :unless => RUBY_VERSION == '1.8.7' do
    it { is_expected.to run.with_params('["one"').and_raise_error(Psych::SyntaxError) }
  end
  context 'when running on ruby 1.8.7, which does not have Psych', :if => RUBY_VERSION == '1.8.7' do
    it { is_expected.to run.with_params('["one"').and_raise_error(ArgumentError) }
  end
end