diff options
Diffstat (limited to 'spec/rubyspec/library/erb/def_module_spec.rb')
-rw-r--r-- | spec/rubyspec/library/erb/def_module_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/rubyspec/library/erb/def_module_spec.rb b/spec/rubyspec/library/erb/def_module_spec.rb new file mode 100644 index 0000000000..ed52fdfc15 --- /dev/null +++ b/spec/rubyspec/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 |