summaryrefslogtreecommitdiffstats
path: root/spec/integration/parser/functions/include.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/integration/parser/functions/include.rb')
-rwxr-xr-xspec/integration/parser/functions/include.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/integration/parser/functions/include.rb b/spec/integration/parser/functions/include.rb
new file mode 100755
index 000000000..64346bffb
--- /dev/null
+++ b/spec/integration/parser/functions/include.rb
@@ -0,0 +1,25 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../../spec_helper'
+
+describe "The include function" do
+ before :each do
+ @node = Puppet::Node.new("mynode")
+ @compiler = Puppet::Parser::Compiler.new(@node)
+ @compiler.send(:evaluate_main)
+ @scope = @compiler.topscope
+ # preload our functions
+ Puppet::Parser::Functions.function(:include)
+ Puppet::Parser::Functions.function(:require)
+ end
+
+ it "should add a containment relationship between the 'included' class and our class" do
+ @compiler.known_resource_types.add Puppet::Parser::ResourceType.new(:hostclass, "includedclass")
+
+ @scope.function_include("includedclass")
+
+ klass_resource = @compiler.findresource(:class,"includedclass")
+ klass_resource.should be_instance_of(Puppet::Parser::Resource)
+ @compiler.catalog.should be_edge(@scope.resource, klass_resource)
+ end
+end