diff options
Diffstat (limited to 'spec/ruby/library/erb/util/shared/html_escape.rb')
-rw-r--r-- | spec/ruby/library/erb/util/shared/html_escape.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/ruby/library/erb/util/shared/html_escape.rb b/spec/ruby/library/erb/util/shared/html_escape.rb new file mode 100644 index 0000000000..71b378755e --- /dev/null +++ b/spec/ruby/library/erb/util/shared/html_escape.rb @@ -0,0 +1,42 @@ +describe :erb_util_html_escape, shared: true do + it "escape (& < > \" ') to (& < > " ')" do + input = '& < > " \'' + expected = '& < > " '' + ERB::Util.__send__(@method, input).should == expected + end + + it "not escape characters except (& < > \" ')" do + input = (0x20..0x7E).to_a.collect {|ch| ch.chr}.join('') + expected = input. + gsub(/&/,'&'). + gsub(/</,'<'). + gsub(/>/,'>'). + gsub(/'/,'''). + gsub(/"/,'"') + ERB::Util.__send__(@method, input).should == expected + end + + it "return empty string when argument is nil" do + input = nil + expected = '' + ERB::Util.__send__(@method, input).should == expected + end + + it "returns string when argument is number" do + input = 123 + expected = '123' + ERB::Util.__send__(@method, input).should == expected + input = 3.14159 + expected = '3.14159' + ERB::Util.__send__(@method, input).should == expected + end + + it "returns string when argument is boolean" do + input = true + expected = 'true' + ERB::Util.__send__(@method, input).should == expected + input = false + expected = 'false' + ERB::Util.__send__(@method, input).should == expected + end +end |