From 6f0bebdfda3aaa22bc12490c204a640fc2e9407b Mon Sep 17 00:00:00 2001 From: Ben Balter Date: Fri, 18 Apr 2014 16:54:48 -0400 Subject: [PATCH] convert input to string before xml escaping --- lib/jekyll/filters.rb | 2 +- test/test_filters.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 6d4d7310..997a0f5d 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -83,7 +83,7 @@ module Jekyll # # Returns the escaped String. def xml_escape(input) - CGI.escapeHTML(input) + CGI.escapeHTML(input.to_s) end # CGI escape a string for use in a URL. Replaces any special characters diff --git a/test/test_filters.rb b/test/test_filters.rb index 8c6e0259..46f8b38c 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -93,6 +93,10 @@ class TestFilters < Test::Unit::TestCase assert_equal "<code>command &lt;filename&gt;</code>", @filter.xml_escape("command <filename>") end + should "no error when xml escaping nil" + assert_equal "", @filter.xml_escape(nil) + ned + should "escape space as plus" do assert_equal "my+things", @filter.cgi_escape("my things") end