From 94e132f18c1147e53e2d679fc29925234ab19e5e Mon Sep 17 00:00:00 2001 From: Cecille Manalang and Ramon Tayag Date: Wed, 17 Jul 2013 15:10:14 +0800 Subject: [PATCH] Fixes parsing of invalid UTF-8 characters --- lib/juicer/dependency_resolver/dependency_resolver.rb | 3 ++- .../dependency_resolver/javascript_dependency_resolver_test.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/juicer/dependency_resolver/dependency_resolver.rb b/lib/juicer/dependency_resolver/dependency_resolver.rb index 7e5dfbf..45f358e 100644 --- a/lib/juicer/dependency_resolver/dependency_resolver.rb +++ b/lib/juicer/dependency_resolver/dependency_resolver.rb @@ -60,7 +60,8 @@ def extension def encoded_line(line) if String.method_defined?(:encode) - line.encode!('UTF-8', 'UTF-8', :invalid => :replace) + line.encode('UTF-16', 'UTF-8', :invalid => :replace, :replace => ''). + encode('UTF-8', 'UTF-16') else line end diff --git a/test/unit/juicer/dependency_resolver/javascript_dependency_resolver_test.rb b/test/unit/juicer/dependency_resolver/javascript_dependency_resolver_test.rb index 19d2b1c..2054cb6 100644 --- a/test/unit/juicer/dependency_resolver/javascript_dependency_resolver_test.rb +++ b/test/unit/juicer/dependency_resolver/javascript_dependency_resolver_test.rb @@ -50,7 +50,7 @@ def test_directory_resolve end def test_parse - text = "© Dynamic Drive" + text = "© \xff Dynamic Drive" text.force_encoding("us-ascii") if RUBY_VERSION > "1.9" assert_nothing_raised ArgumentError do @resolver.send(:parse, text)