aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/erb/def_module_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/erb/def_module_spec.rb')
-rw-r--r--spec/ruby/library/erb/def_module_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/ruby/library/erb/def_module_spec.rb b/spec/ruby/library/erb/def_module_spec.rb
new file mode 100644
index 0000000000..ed52fdfc15
--- /dev/null
+++ b/spec/ruby/library/erb/def_module_spec.rb
@@ -0,0 +1,27 @@
+require 'erb'
+require File.expand_path('../../../spec_helper', __FILE__)
+
+describe "ERB#def_module" do
+
+ it "return unnamed module which has instance method to render eRuby" do
+ input = <<'END'
+arg1=<%= arg1.inspect %>
+arg2=<%= arg2.inspect %>
+END
+ expected = <<'END'
+arg1="foo"
+arg2=123
+END
+ filename = 'example.rhtml'
+ #erb = ERB.new(File.read(filename))
+ erb = ERB.new(input)
+ erb.filename = filename
+ MyModule2ForErb = erb.def_module('render(arg1, arg2)')
+ MyModule2ForErb.method_defined?(':render')
+ class MyClass2ForErb
+ include MyModule2ForErb
+ end
+ MyClass2ForErb.new.render('foo', 123).should == expected
+ end
+
+end