diff options
author | Luke Kanies <luke@madstop.com> | 2009-10-26 20:39:41 -0700 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2009-10-26 20:39:41 -0700 |
commit | 09fb3f707dfce31a11eda2f35bd77e65c911c15f (patch) | |
tree | bbd23f93f2a47c1b636ae94dce7f3d2e08c737c9 | |
parent | 6846c327e120b88334853bcc947f522b2cd9e377 (diff) | |
download | puppet-09fb3f707dfce31a11eda2f35bd77e65c911c15f.tar.gz puppet-09fb3f707dfce31a11eda2f35bd77e65c911c15f.tar.xz puppet-09fb3f707dfce31a11eda2f35bd77e65c911c15f.zip |
Fixing #2752 - "require" loads "include"
Signed-off-by: Luke Kanies <luke@madstop.com>
-rw-r--r-- | lib/puppet/parser/functions/require.rb | 5 | ||||
-rwxr-xr-x | spec/unit/parser/functions/require.rb | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/puppet/parser/functions/require.rb b/lib/puppet/parser/functions/require.rb index 3a2032d7f..d72169af5 100644 --- a/lib/puppet/parser/functions/require.rb +++ b/lib/puppet/parser/functions/require.rb @@ -27,7 +27,10 @@ Note that this function only works with clients 0.25 and later, and it will fail if used with earlier clients. ") do |vals| - send(:function_include, vals) + # Verify that the 'include' function is loaded + method = Puppet::Parser::Functions.function(:include) + + send(method, vals) if resource.metaparam_compatibility_mode? warning "The 'require' function is only compatible with clients at 0.25 and above; including class but not adding dependency" else diff --git a/spec/unit/parser/functions/require.rb b/spec/unit/parser/functions/require.rb index 24c9ecc64..577a52a42 100755 --- a/spec/unit/parser/functions/require.rb +++ b/spec/unit/parser/functions/require.rb @@ -31,6 +31,12 @@ describe "the require function" do @scope.function_require("myclass") end + it "should verify the 'include' function is loaded" do + Puppet::Parser::Functions.expects(:function).with(:include).returns(:function_include) + @scope.stubs(:function_include) + @scope.function_require("myclass") + end + it "should include the class but not add a dependency if used on a client not at least version 0.25" do @resource.expects(:metaparam_compatibility_mode?).returns true @scope.expects(:warning) |