Acme-MetaSyntactic-daleks
view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic/daleks.pm view on Meta::CPAN
use vars qw(%Remote);
{
no strict "vars";
$VERSION = '1.05';
@ISA = qw(Acme::MetaSyntactic::List);
}
*_tr_nonword = \&Acme::MetaSyntactic::RemoteList::tr_nonword;
sub _uniq { return keys %{ { map { $_ => 1 } @_ } } }
%Remote = (
source => "http://maddingue.org/daleks/movies.txt",
extract => sub {
return sort _uniq(
map { $_ = _tr_nonword($_) ; s/^_+|_+$//g ; s/_+/_/g ; $_ }
grep { !/^\d/ }
grep { length }
split "\012", shift
)
},
);
__PACKAGE__->init();
q!EXTERMINATE!;
t/ams-01load.t view on Meta::CPAN
use Test::More;
use Acme::MetaSyntactic ();
use strict;
my @modules = map { "Acme::MetaSyntactic::$_" } Acme::MetaSyntactic->themes;
plan tests => scalar @modules;
use_ok( $_ ) for sort @modules;
t/ams-17import.t view on Meta::CPAN
use strict;
use t::NoLang;
use Acme::MetaSyntactic ':all';
my @themes = sort grep { !/^(?:any|random)$/ } keys %Acme::MetaSyntactic::META;
plan tests => scalar @themes;
for my $name ( @themes ) {
no strict 'refs';
my @names = "meta$name"->();
my %isa = map { $_ => 1 } @{"Acme::MetaSyntactic::$name\::ISA"};
my %seen;
if ( exists $isa{'Acme::MetaSyntactic::List'} ) {
%seen = map { $_ => 1 } @{"Acme::MetaSyntactic::$name\::List"};
}
elsif ( exists $isa{'Acme::MetaSyntactic::Locale'} ) {
%seen =
map { $_ => 1 }
@{ ${"Acme::MetaSyntactic::$name\::Locale"}
{ ${"Acme::MetaSyntactic::$name\::Default"} } };
}
elsif ( exists $isa{'Acme::MetaSyntactic::MultiList'} ) {
%seen =
map { $_ => 1 }
map { @$_ }
values %{"Acme::MetaSyntactic::$name\::MultiList"};
}
else {
ok(0, "Don't know how to test $name (@{[keys %isa]})" );
next;
}
ok( exists $seen{ $names[0] }, "meta$name -> $names[0]" );
}
t/ams-22uniq.t view on Meta::CPAN
use Acme::MetaSyntactic;
plan skip_all => "Only useful to the author" unless -d "releases";
my @themes = grep { !/^(?:any)/ } Acme::MetaSyntactic->themes;
my @metas;
for my $theme (@themes) {
no strict 'refs';
eval "require Acme::MetaSyntactic::$theme;";
diag "$theme $@" if $@;
my %isa = map { $_ => 1 } @{"Acme::MetaSyntactic::$theme\::ISA"};
if( exists $isa{'Acme::MetaSyntactic::Locale'} ) {
for my $lang ( "Acme::MetaSyntactic::$theme"->languages() ) {
push @metas,
[ "Acme::MetaSyntactic::$theme"->new( lang => $lang ),
", $lang locale" ];
}
}
elsif( exists $isa{'Acme::MetaSyntactic::MultiList'} ) {
for my $cat ( "Acme::MetaSyntactic::$theme"->categories(), ':all' ) {
push @metas,
t/ams-90up2date.t view on Meta::CPAN
use strict;
use Test::More;
use Acme::MetaSyntactic ();
my @themes =
grep { eval "require $_;"; $_->has_remotelist() }
map {"Acme::MetaSyntactic::$_"} Acme::MetaSyntactic->themes();
my $tests = 2 * @themes;
plan tests => $tests;
# allow testing only a few themes
# "dilbert viclones" will test ONLY those themes
# "not dilbert tmnt" will test ALL BUT those themes
my %test;
if ( @ARGV && $ARGV[0] eq 'not' ) {
shift;
%test = map { $_ => 1 } @themes;
$test{"Acme::MetaSyntactic::$_"} = 0 for @ARGV;
}
else {
%test =
map { $_ => 1 } @ARGV
? map {"Acme::MetaSyntactic::$_"} @ARGV
: @themes;
}
SKIP: {
# this test must be explicitely requested
skip "Set AMS_REMOTE environment variable to true to test up-to-dateness",
$tests
unless $ENV{AMS_REMOTE};
utils/update-module view on Meta::CPAN
#!/usr/bin/perl
use strict;
use lib "lib";
use Acme::MetaSyntactic::daleks;
my $mod_path = $INC{"Acme/MetaSyntactic/daleks.pm"};
open(MODULE, $mod_path) or die "can't read '$mod_path': $!";
my @file = grep { /^package/ .. /^__DATA__/ } <MODULE>;
close(MODULE);
push @file, map { "$_\n" } "# names", Acme::MetaSyntactic::daleks->remote_list();
open(MODULE, ">$mod_path") or die "can't write '$mod_path': $!";
print MODULE @file;
close(MODULE);
( run in 2.867 seconds using v1.01-cache-2.11-cpan-49f99fa48dc )