puppet-horizon/spec/unit/puppet/parser/functions/os_any2array_spec.rb
Gael Chamoulaud cb436e722e spec: updates for rspec-puppet 2.x and rspec 3.x
This patch aim to update our specs test in order to work with the rspec-puppet
release 2.0.0, in the mean time, we update rspec syntax order to be prepared
for rspec 3.x move.

In details:
* Upgrade and pin rspec-puppet from 1.0.1 to 2.0.0
* Convert 'should' keyword to 'is_expected.to' (prepare rspec 3.x)
* Fix spec tests for rspec-puppet 2.0.0
* Clean Gemfile (remove over-specificication of runtime deps of
  puppetlabs_spec_helper)

Change-Id: I405830cd95c9f0635418b91ff081c43d77234e39
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-04-14 11:38:34 +02:00

56 lines
1.6 KiB
Ruby

#! /usr/bin/env ruby -S rspec
require 'spec_helper'
describe "the os_any2array function" do
let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
it "should exist" do
expect(Puppet::Parser::Functions.function("os_any2array")).to eq("function_os_any2array")
end
it "should return an empty array if there is less than 1 argument" do
result = scope.function_os_any2array([])
expect(result).to(eq([]))
end
it "should convert boolean true to [ true ] " do
result = scope.function_os_any2array([true])
expect(result).to(eq([true]))
end
it "should convert one object to [object]" do
result = scope.function_os_any2array(['one'])
expect(result).to(eq(['one']))
end
it "should convert multiple objects to [objects]" do
result = scope.function_os_any2array(['one', 'two'])
expect(result).to(eq(['one', 'two']))
end
it "should return empty array it was called with" do
result = scope.function_os_any2array([[]])
expect(result).to(eq([]))
end
it "should return one-member array it was called with" do
result = scope.function_os_any2array([['string']])
expect(result).to(eq(['string']))
end
it "should return multi-member array it was called with" do
result = scope.function_os_any2array([['one', 'two']])
expect(result).to(eq(['one', 'two']))
end
it "should return members of a hash it was called with" do
result = scope.function_os_any2array([{ 'key' => 'value' }])
expect(result).to(eq(['key', 'value']))
end
it "should return an empty array if it was called with an empty hash" do
result = scope.function_os_any2array([{ }])
expect(result).to(eq([]))
end
end