summaryrefslogtreecommitdiffstats
path: root/test/util
diff options
context:
space:
mode:
Diffstat (limited to 'test/util')
-rwxr-xr-xtest/util/classgen.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/util/classgen.rb b/test/util/classgen.rb
index 160de7464..3c49f5ce9 100755
--- a/test/util/classgen.rb
+++ b/test/util/classgen.rb
@@ -115,6 +115,30 @@ class TestPuppetUtilClassGen < Test::Unit::TestCase
assert_nil(klass.three, "Class was initialized incorrectly")
end
+ def test_initclass_include_and_extend
+ sub, klass = testclasses("attributes")
+
+ incl = Module.new do
+ attr_accessor :included
+ end
+ self.class.const_set("Incl", incl)
+
+ ext = Module.new do
+ attr_accessor :extended
+ end
+ self.class.const_set("Ext", ext)
+
+ assert(! klass.respond_to?(:extended), "Class already responds to extended")
+ assert(! klass.new.respond_to?(:included), "Class already responds to included")
+
+ assert_nothing_raised do sub.send(:initclass, klass,
+ :include => incl, :extend => ext)
+ end
+
+ assert(klass.respond_to?(:extended), "Class did not get extended")
+ assert(klass.new.respond_to?(:included), "Class did not include")
+ end
+
def test_genclass
hash = {}
array = []