Acme-MetaSyntactic
view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic.pm view on Meta::CPAN
our $Theme = 'foo'; # default theme
our %META;
# private class method
sub _find_themes {
my ( $class, @dirs ) = @_;
return
map @$_,
grep { $_->[0] !~ /^[A-Z]/ } # remove the non-theme subclasses
map { [ ( fileparse( $_, qr/\.pm$/ ) )[0] => $_ ] }
map { File::Glob::bsd_glob( File::Spec->catfile( $_, qw( Acme MetaSyntactic *.pm ) ) ) } @dirs;
}
# fetch the list of standard themes
$META{$_} = 0 for keys %{ { __PACKAGE__->_find_themes(@INC) } };
# the functions actually hide an instance
my $meta = Acme::MetaSyntactic->new( $Theme );
# END OF INITIALISATION
t/50usecase.t view on Meta::CPAN
use strict;
use Test::More;
use File::Spec::Functions;
use File::Glob;
my $dir;
BEGIN { $dir = catdir qw( t lib ); }
use lib $dir;
my @list_cases = File::Glob::bsd_glob catfile(qw(t usecase_list*));
my @locale_fr_cases = File::Glob::bsd_glob catfile(qw(t usecase_locale_fr*));
my @locale_en_cases = File::Glob::bsd_glob catfile(qw(t usecase_locale_en*));
my @alias_cases = File::Glob::bsd_glob catfile(qw(t usecase_alias*));
plan tests => 2
* ( @list_cases + @locale_fr_cases + @locale_en_cases + @alias_cases );
LIST: {
use Acme::MetaSyntactic::test_ams_list;
my %items = map { $_ => 1 } @Acme::MetaSyntactic::test_ams_list::List;
for (@list_cases) {
my $result = `$^X "-I$dir" -Mstrict -w $_`;
( run in 0.936 second using v1.01-cache-2.11-cpan-49f99fa48dc )