Bug 28157: Regression tests
[srvgit] / t / Output_JSONStream.t
index e18f792..bf7b184 100755 (executable)
@@ -6,17 +6,27 @@
 use strict;
 use warnings;
 
-use Test::More tests => 5;
+use Test::More tests => 10;
 
 BEGIN {
         use_ok('C4::Output::JSONStream');
 }
 
-my $json = new 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'] );
-is($json->output,'{"issues":["yes!","please","no"],"stuff":["realia"]}',"Making sure JSON output has added more params correctly.");
+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'] );
-is($json->output,'{"issues":["yes!","please","no"],"stuff":["fun","love"]}',"Making sure JSON output can obverwrite params.");
+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.');