From d3503e8119fd453241cb6d3824eeda0af0e5ec5e Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 15 Mar 2018 14:07:11 +0100 Subject: [PATCH] Bug 20422: Add unit test to Output.t for parametrized_url This test will reveal that we need to resolve a warning too. Test plan: [1] Run t/Output.t without the second patch. [2] The test will fail on the warning raised by an undefined value. Signed-off-by: Marcel de Rooy Signed-off-by: Brendan Gallagher Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- t/Output.t | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/t/Output.t b/t/Output.t index 4474d18752..279ce06200 100755 --- a/t/Output.t +++ b/t/Output.t @@ -3,7 +3,8 @@ use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 6; +use Test::Warn; use CGI qw ( -utf8 ); BEGIN { @@ -28,3 +29,15 @@ my $output = 'foobarbaz'; like($stdout, qr/Cache-control: no-cache[^,]/, 'not using force_no_caching sets Cache-control as desired'); unlike($stdout, qr/Expires: /, 'force_no_caching does not set an Expires header'); } + +subtest 'parametrized_url' => sub { + plan tests => 2; + + my $url = 'https://somesite.com/search?q={TITLE}&author={AUTHOR}{SUFFIX}'; + my $subs = { TITLE => '_title_', AUTHOR => undef, ISBN => '123456789' }; + my $res; + warning_is { $res = C4::Output::parametrized_url( $url, $subs ) } + q{}, 'No warning expected on undefined author'; + is( $res, 'https://somesite.com/search?q=_title_&author=', + 'Title replaced, author empty and SUFFIX removed' ); +}; -- 2.39.5