Koha/t/Output_JSONStream.t
Julian Maurice 96cc447045 Bug 25898: Prohibit indirect object notation
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-10-15 12:56:30 +02:00

32 lines
1.2 KiB
Perl
Executable file

#!/usr/bin/perl
#
# This Koha test module is a stub!
# Add more tests here!!!
use strict;
use warnings;
use Test::More tests => 10;
BEGIN {
use_ok('C4::Output::JSONStream');
}
my $json = C4::Output::JSONStream->new;
is($json->output,'{}',"Making sure JSON output is blank just after its created.");
$json->param( issues => [ 'yes!', 'please', 'no' ] );
is($json->output,'{"issues":["yes!","please","no"]}',"Making sure JSON output has added what we told it to.");
$json->param( stuff => ['realia'] );
like($json->output,'/"stuff":\["realia"\]/',"Making sure JSON output has added more params correctly.");
like($json->output,'/"issues":\["yes!","please","no"\]/',"Making sure existing elements remain in JSON output");
$json->param( stuff => ['fun','love'] );
like($json->output,'/"stuff":\["fun","love"\]/',"Making sure JSON output can overwrite params.");
like($json->output,'/"issues":\["yes!","please","no"\]/',"Making non overwitten elements remain in JSON output");
eval{$json->param( die )};
ok($@,'Dies');
eval{$json->param( die => ['yes','sure','now'])};
ok(!$@,'Does not die.');
eval{$json->param( die => ['yes','sure','now'], die2 =>)};
ok($@,'Dies.');