puppetlabs-stdlib/spec/unit/puppet/parser/functions/max_spec.rb
Erik Dalén ff5dd5d75a Allow comparisons of Numeric and number as String
Puppet passes numbers as String to functions, but it makes more sense to
compare them as Numeric.
But sometimes Puppet passes them as the wrong type, see:
https://projects.puppetlabs.com/issues/19812
2013-03-27 14:03:31 -07:00

27 lines
748 B
Ruby
Executable file

#! /usr/bin/env ruby -S rspec
require 'spec_helper'
describe "the max function" do
let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
it "should exist" do
Puppet::Parser::Functions.function("max").should == "function_max"
end
it "should raise a ParseError if there is less than 1 arguments" do
lambda { scope.function_max([]) }.should( raise_error(Puppet::ParseError))
end
it "should be able to compare strings" do
scope.function_max(["albatross","dog","horse"]).should(eq("horse"))
end
it "should be able to compare numbers" do
scope.function_max([6,8,4]).should(eq(8))
end
it "should be able to compare a number with a stringified number" do
scope.function_max([1,"2"]).should(eq("2"))
end
end