Bug 20912: (QA follow-up) The default rule already has renewalsallowed=0
[koha.git] / t / Output.t
old mode 100644 (file)
new mode 100755 (executable)
index 0716004..279ce06
@@ -1,5 +1,43 @@
-BEGIN { $| = 1; print "1..1\n"; }
-END {print "not ok 1\n" unless $loaded;}
-use C4::Accounts;
-$loaded = 1;
-print "ok 1\n";
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 6;
+use Test::Warn;
+use CGI qw ( -utf8 );
+
+BEGIN {
+    use_ok('C4::Output');
+}
+
+my $query = CGI->new();
+my $cookie;
+my $output = 'foobarbaz';
+
+{
+    local *STDOUT;
+    my $stdout;
+    open STDOUT, '>', \$stdout;
+    output_html_with_http_headers $query, $cookie, $output, undef, { force_no_caching => 1 };
+    like($stdout, qr/Cache-control: no-cache, no-store, max-age=0/, 'force_no_caching sets Cache-control as desired');
+    like($stdout, qr/Expires: /, 'force_no_caching sets an Expires header');
+    $stdout = '';
+    close STDOUT;
+    open STDOUT, '>', \$stdout;
+    output_html_with_http_headers $query, $cookie, $output, undef, undef;
+    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' );
+};