my @dbs = find_pms('SL/DB');
my @metasetups = find_pms('SL/DB/MetaSetup');
my %metasetup_content = map { ($_ => scalar(read_file("SL/DB/MetaSetup/$_"))) } @metasetups;
+my %db_content = map { ($_ => scalar(read_file("SL/DB/$_"))) } @dbs;
my $all_content = read_file('SL/DB/Helper/ALL.pm');
my $mapping_content = read_file('SL/DB/Helper/Mappings.pm');
sub test_use_in_all_exists_as_db {
foreach my $package (map { m/^use\s+(.+?);/; $1 } grep { '^use SL::DB::' } split m/\n/, $all_content) {
+ next unless $package;
next unless $package =~ m/^SL::DB::(.+)/;
my $file = $1;
$file =~ s{::}{/}g;
}
}
+sub test_db_contains_meta_initialize {
+ foreach my $pm (grep { !m{^(?:Object|VC)\.pm$} } @dbs) {
+ ok($db_content{$pm} =~ m/\n__PACKAGE__->meta->initialize;/, "$pm contains __PACKAGE__->meta->initialize;");
+ }
+}
+
test_db_has_metasetup();
test_metasetup_has_db();
test_db_included_in_all();
test_use_in_all_exists_as_db();
test_metasetup_has_table_to_class_mapping();
+test_db_contains_meta_initialize();
done_testing();