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 )