The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#! perl -I. -w
{
my $pt = Dancer::RPCPlugin::PluginNames->new();
isa_ok($pt, 'Dancer::RPCPlugin::PluginNames');
is_deeply(
[ my @pil = $pt->names ],
[qw/jsonrpc restrpc xmlrpc/],
"default types on construction"
);
my $alts = join('|', @pil);
is(
$pt->regex,
qr/(?:$alts)/,
"Regex generated"
);
$pt->_reset();
}
{
my $pt = Dancer::RPCPlugin::PluginNames->new(qw/jsonrpc xmlrpc/);
isa_ok($pt, 'Dancer::RPCPlugin::PluginNames');
{
is_deeply(
[ my @pil = $pt->names ],
[qw/jsonrpc xmlrpc/],
"list types on construction"
);
my $alts = join('|', @pil);
is(
$pt->regex,
qr/(?:$alts)/,
"Regex generated"
);
}
$pt->add_names('restrpc', 'soaprpc');
{
is_deeply(
[ my @pil = $pt->names ],
[qw/jsonrpc restrpc soaprpc xmlrpc/],
"add types after construction"
);
my $alts = join('|', @pil);
is(
$pt->regex,
qr/(?:$alts)/,
"Regex generated " . $pt->regex
);
}
}
done_testing();