From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use Kelp::Base -strict;
use Test::Harness 'execute_tests';
use File::Temp 'tempdir';
use Config;
use FindBin '$Bin';
test_app("Foo");
sub test_app
{
my $params = shift;
my $kelp_dir = tempdir(CLEANUP => 1);
push @INC, "$kelp_dir/lib";
system("$Config{perlpath} $Bin/../bin/kelp-generator --path=$kelp_dir --noverbose $params");
my ($total, $failed) = execute_tests(tests => ["$kelp_dir/t/main.t"]);
ok($total->{bad} == 0 && $total->{max} > 0, "Generated app tests OK")
or diag explain $failed;
}
my $help = `$Config{perlpath} $Bin/../bin/kelp-generator --help`;
like $help, qr/\Qkelp-generator [options] <application-name>\E/, 'help head ok';
like $help, qr/\QAvailable application types:\E/, 'help templates ok';
done_testing;