Bug 13075: Silence warnings and improve Charset testing.
Calls to C4/Charset.pm's NormalizeString function with an undefined string were triggering warnings when running: prove -v t/db_dependent/Holds.t Sadly, t/Charset.t was also lacking calls to NormalizeString. TEST PLAN --------- 1) prove -v t/db_dependent/Holds.t -- This should generate the uninitialized string warnings. Make sure CPL and MPL are in your branches to save yourself from headaches due to expected data. 2) cat t/Charset.t -- note there are no function calls to NormalizeString. You can see other shortfalls in the tests beyond NormalizeString with: grep ^sub C4/Charset.pm 3) prove -v t/Charset.t 4) Apply patch 5) prove -v t/Charset.t -- Run as before with more tests. 6) cat t/Charset.t -- note there are now function calls to NormalizeString. 7) prove -v t/db_dependent/Holds.t -- Nice and clean run! :) 8) koha-qa.pl -v 2 -c 1 -- all should be Ok. Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
628aea461a
commit
878fa77c30
2 changed files with 11 additions and 1 deletions
|
@ -179,6 +179,7 @@ Sample code :
|
||||||
|
|
||||||
sub NormalizeString{
|
sub NormalizeString{
|
||||||
my ($string,$nfd,$transform)=@_;
|
my ($string,$nfd,$transform)=@_;
|
||||||
|
return $string unless defined($string); # force scalar context return.
|
||||||
utf8::decode($string) unless (utf8::is_utf8($string));
|
utf8::decode($string) unless (utf8::is_utf8($string));
|
||||||
if ($nfd){
|
if ($nfd){
|
||||||
$string= NFD($string);
|
$string= NFD($string);
|
||||||
|
|
11
t/Charset.t
11
t/Charset.t
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
use Modern::Perl;
|
use Modern::Perl;
|
||||||
|
|
||||||
use Test::More tests => 11;
|
use Test::More tests => 16;
|
||||||
use MARC::Record;
|
use MARC::Record;
|
||||||
|
|
||||||
use utf8;
|
use utf8;
|
||||||
|
@ -27,6 +27,15 @@ BEGIN {
|
||||||
use_ok('C4::Charset');
|
use_ok('C4::Charset');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $string;
|
||||||
|
ok(!defined(NormalizeString($string,undef,1)),'Uninitialized string case 1 normalizes to uninitialized string.');
|
||||||
|
|
||||||
|
$string = 'Sample';
|
||||||
|
ok(defined(NormalizeString($string,undef,0)), 'Initialized string case 1 normalizes to some string.');
|
||||||
|
ok(defined(NormalizeString($string,undef,1)), 'Initialized string case 2 normalizes to some string.');
|
||||||
|
ok(defined(NormalizeString($string,1,0)), 'Initialized string case 3 normalizes to some string.');
|
||||||
|
ok(defined(NormalizeString($string,1,1)), 'Initialized string case 4 normalizes to some string.');
|
||||||
|
|
||||||
my $octets = "abc";
|
my $octets = "abc";
|
||||||
ok(IsStringUTF8ish($octets), "verify octets are valid UTF-8 (ASCII)");
|
ok(IsStringUTF8ish($octets), "verify octets are valid UTF-8 (ASCII)");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue