From d6e2e81f0c860c7fa5b2142a591419275e0f51cf Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Wed, 6 Apr 2011 05:52:07 +0000 Subject: [PATCH] PDF: nil safe at fix_text_encoding(txt) of lib/redmine/export/pdf.rb. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5345 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/export/pdf.rb | 3 ++- test/unit/lib/redmine/export/pdf_test.rb | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/redmine/export/pdf.rb b/lib/redmine/export/pdf.rb index 55ab37da4..5ea33e3a8 100644 --- a/lib/redmine/export/pdf.rb +++ b/lib/redmine/export/pdf.rb @@ -143,6 +143,7 @@ module Redmine end def fix_text_encoding(txt) + txt ||= '' if txt.respond_to?(:force_encoding) txt.force_encoding('UTF-8') txt = txt.encode(l(:general_pdf_encoding), :invalid => :replace, @@ -154,7 +155,7 @@ module Redmine @ic.iconv(txt) rescue txt - end || '' + end end # 0x5c char handling txt.gsub(/\\/, "\\\\\\\\") diff --git a/test/unit/lib/redmine/export/pdf_test.rb b/test/unit/lib/redmine/export/pdf_test.rb index 0281b6a92..d319ce0ec 100644 --- a/test/unit/lib/redmine/export/pdf_test.rb +++ b/test/unit/lib/redmine/export/pdf_test.rb @@ -20,6 +20,13 @@ require File.expand_path('../../../../../test_helper', __FILE__) class PdfTest < ActiveSupport::TestCase include Redmine::I18n + def test_fix_text_encoding_nil + set_language_if_valid 'ja' + pdf = Redmine::Export::PDF::IFPDF.new('ja') + assert pdf + assert_equal '', pdf.fix_text_encoding(nil) + end + def test_fix_text_encoding_backslash_ascii set_language_if_valid 'ja' pdf = Redmine::Export::PDF::IFPDF.new('ja')