The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

use strictures 1;
sub run_test {
my ($in) = @_;
my $out = '';
local (*STDIN, *STDOUT);
open STDIN, '<', \$in;
open STDOUT, '>', \$out;
App::JSONPretty::run();
$out;
}
is(
run_test('{ "foo": 1, "bar": 2, }'),
q'{
"bar" : 2,
"foo" : 1
}
',
'Output ok (simple STDIN test)'
);
{
local @ARGV = 't/simple.json';
is(
run_test(''),
q'{
"bar" : 2,
"foo" : 1
}
',
'Output ok (simple @ARGV test)'
);
}
{
local $@;
eval { run_test('') };
like($@, qr/No source data supplied/, 'Error ok for empty data');
}
done_testing;