From ec710a43e60dec8c65e284c1ecadc909c519df31 Mon Sep 17 00:00:00 2001 From: Nagy Bence Date: Mon, 6 Sep 2010 00:13:46 +0800 Subject: [PATCH] escape_javascript does not kill anymore opening html tags --- VERSION | 2 +- escape_utils.gemspec | 21 ++++++++++++++------- ext/escape_utils.c | 6 ++++-- spec/javascript/escape_spec.rb | 5 +++-- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/VERSION b/VERSION index 9faa1b7..c946ee6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.5 +0.1.6 diff --git a/escape_utils.gemspec b/escape_utils.gemspec index 84cb1a9..b7e19e6 100644 --- a/escape_utils.gemspec +++ b/escape_utils.gemspec @@ -5,11 +5,11 @@ Gem::Specification.new do |s| s.name = %q{escape_utils} - s.version = "0.1.5" + s.version = "0.1.6" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Brian Lopez"] - s.date = %q{2010-08-07} + s.date = %q{2010-09-05} s.email = %q{seniorlopez@gmail.com} s.extensions = ["ext/extconf.rb"] s.extra_rdoc_files = [ @@ -41,14 +41,19 @@ Gem::Specification.new do |s| "lib/escape_utils/url/cgi.rb", "lib/escape_utils/url/erb.rb", "lib/escape_utils/url/rack.rb", + "lib/escape_utils/url/uri.rb", "spec/html/escape_spec.rb", "spec/html/unescape_spec.rb", "spec/html_safety_spec.rb", "spec/javascript/escape_spec.rb", "spec/javascript/unescape_spec.rb", + "spec/query/escape_spec.rb", + "spec/query/unescape_spec.rb", "spec/rcov.opts", "spec/spec.opts", - "spec/spec_helper.rb" + "spec/spec_helper.rb", + "spec/uri/escape_spec.rb", + "spec/uri/unescape_spec.rb" ] s.homepage = %q{http://github.com/brianmario/escape_utils} s.rdoc_options = ["--charset=UTF-8"] @@ -56,13 +61,15 @@ Gem::Specification.new do |s| s.rubygems_version = %q{1.3.7} s.summary = %q{Faster string escaping routines for your web apps} s.test_files = [ - "spec/html/escape_spec.rb", - "spec/html/unescape_spec.rb", - "spec/html_safety_spec.rb", - "spec/javascript/escape_spec.rb", + "spec/javascript/escape_spec.rb", "spec/javascript/unescape_spec.rb", + "spec/html/escape_spec.rb", + "spec/html/unescape_spec.rb", "spec/query/escape_spec.rb", "spec/query/unescape_spec.rb", + "spec/html_safety_spec.rb", + "spec/uri/escape_spec.rb", + "spec/uri/unescape_spec.rb", "spec/spec_helper.rb" ] diff --git a/ext/escape_utils.c b/ext/escape_utils.c index d86552c..b13ac09 100644 --- a/ext/escape_utils.c +++ b/ext/escape_utils.c @@ -114,8 +114,9 @@ static size_t escape_javascript(unsigned char *out, const unsigned char *in, siz total++; break; case '<': + *out++ = '<'; if (*in == '/') { - *out++ = '<'; *out++ = '\\'; *out++ = '/'; + *out++ = '\\'; *out++ = '/'; in++; in_len--; total++; } @@ -592,4 +593,5 @@ void Init_escape_utils_ext() { #ifdef HAVE_RUBY_ENCODING_H utf8Encoding = rb_utf8_encoding(); #endif -} \ No newline at end of file +} + diff --git a/spec/javascript/escape_spec.rb b/spec/javascript/escape_spec.rb index 0bbee04..be8b64f 100644 --- a/spec/javascript/escape_spec.rb +++ b/spec/javascript/escape_spec.rb @@ -20,7 +20,7 @@ end it "should escape closed html tags" do - EscapeUtils.escape_javascript(%(dont tags)).should eql(%(dont <\\/close> tags)) + EscapeUtils.escape_javascript(%(keep , but dont tags)).should eql(%(keep , but dont <\\/close> tags)) end if RUBY_VERSION =~ /^1.9/ @@ -36,4 +36,5 @@ EscapeUtils.escape_javascript(%(dont tags)).encoding.should eql(Encoding.default_internal) end end -end \ No newline at end of file +end +