1 #! /usr/bin/env ruby -S rspec
4 describe "the reverse function" do
5 let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
8 expect(Puppet::Parser::Functions.function("reverse")).to eq("function_reverse")
11 it "should raise a ParseError if there is less than 1 arguments" do
12 expect { scope.function_reverse([]) }.to( raise_error(Puppet::ParseError))
15 it "should reverse a string" do
16 result = scope.function_reverse(["asdfghijkl"])
17 expect(result).to(eq('lkjihgfdsa'))
20 it "should accept objects which extend String" do
21 class AlsoString < String
24 value = AlsoString.new('asdfghjkl')
25 result = scope.function_reverse([value])
26 result.should(eq('lkjhgfdsa'))