Data-Fake-MetaSyntactic
view release on metacpan or search on metacpan
t/fake-meta.t view on Meta::CPAN
# fake_metacategory
for my $args ( [], [ fake_metatheme()->() ], [ fake_metatheme() ] ) {
my $metacategory = fake_metacategory( @$args );
is( ref $metacategory, 'CODE', "fake_metacategory() returns a coderef" );
}
# fake_metacategory() picks one theme at random
{
my $metacategory = fake_metacategory();
my ($theme) = split m:/:, $metacategory->();
# same theme each time
for ( 1 .. $count ) {
my $category = $metacategory->();
like( $category, qr{^$theme(?:/|$)}, "$category belongs to $theme" );
}
}
# pick random categories, and ensure at least one of them has a /
my $metacategory = fake_metacategory( fake_metatheme() );
my @categories;
push @categories, $metacategory->()
until @categories >= $count && $categories[-1] =~ m:/:;
for my $category ( splice @categories, -$count ) {
my ($theme) = split m:/:, $category;
like( $category, qr{^$theme(?:/|$)}, "$category belongs to $theme" );
}
done_testing;
( run in 0.728 second using v1.01-cache-2.11-cpan-71847e10f99 )