Bug 11402: make Labels::_guide_box return undef if undefned data is passed

That's it. A guide box cannot be created if invalid data is passed.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, includes new unit tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Tomas Cohen Arazi 2013-12-16 11:55:56 -03:00 committed by Galen Charlton
parent 3e866d216d
commit 4720cbc414
2 changed files with 14 additions and 2 deletions

View File

@ -62,6 +62,8 @@ sub _check_params {
sub _guide_box {
my ( $llx, $lly, $width, $height ) = @_;
return unless ( defined $llx and defined $lly and
defined $width and defined $height );
my $obj_stream = "q\n"; # save the graphic state
$obj_stream .= "0.5 w\n"; # border line width
$obj_stream .= "1.0 0.0 0.0 RG\n"; # border color red

View File

@ -20,7 +20,7 @@
use strict;
use warnings;
use Test::More tests => 6;
use Test::More tests => 10;
BEGIN {
use_ok('C4::Labels::Label');
@ -36,7 +36,17 @@ is_deeply($parsed_fields, $expected_fields, '"callnumber" in label layout alias
is(C4::Labels::Label::_check_params(),"0",'test checking parameters');
ok(C4::Labels::Label::_guide_box(), 'test guide box with nothing entered');
my ($llx,$lly,$width,$height) = ( 0, 0, 10, 10 );
ok(!defined C4::Labels::Label::_guide_box(),
"Test guide box with undefined parameters returns undef");
ok(!defined C4::Labels::Label::_guide_box(undef,$lly,$width,$height),
"Test guide box with undefined 'x' coordinate returns undef");
ok(!defined C4::Labels::Label::_guide_box($llx,undef,$width,$height),
"Test guide box with undefined 'y' coordinate returns undef");
ok(!defined C4::Labels::Label::_guide_box($llx,$lly,undef,$height),
"Test guide box with undefined 'width' returns undef");
ok(!defined C4::Labels::Label::_guide_box($llx,$lly,$width,undef),
"Test guide box with undefined 'height' returns undef");
ok(C4::Labels::Label::_get_text_fields(), 'test getting textx fields');