Projekt

Allgemein

Profil

Herunterladen (758 Bytes) Statistiken
| Zweig: | Markierung: | Revision:
use Test::More;
use Test::Exception;

use strict;

use lib 't';
use utf8;

use Data::Dumper;
use Support::TestSetup;
use File::Slurp;
use IO::Dir;

my %dir;
tie %dir, 'IO::Dir', 'SL/DB';
my @pms = grep { m/\.pm$/ } keys %dir;

foreach my $pm (sort @pms) {
my $content = read_file("SL/DB/${pm}");
next unless $content =~ m/__PACKAGE__->meta->add_relationships?\((.+?)\);/s;
my $code = $1;

my @not_existing;
while ($code =~ m/\b(?:map_)?class\s*=>\s*['"]SL::DB::(.+?)['"]/g) {
push @not_existing, $1 unless -f "SL/DB/${1}.pm";
}

if (@not_existing) {
fail("$pm: Non-existing relationship model(s) " . join(' ', @not_existing));
} else {
pass("$pm: all relationship model(s) exist");
}
}

# print Dumper(\@pms);


done_testing();
(14-14/17)