10 my %compatibility_functions = map { ($_ => 1) } qw(address);
12 sub read_default_columns {
13 my $content = read_file('SL/DB/MetaSetup/Default.pm');
14 my ($columns) = $content =~ m{\n__PACKAGE__->meta->columns\((.+?)\n\)}s;
15 $columns =~ s/=>.*?\},|\n//g;
17 $columns =~ s/^\s+|\s+$//g;
19 return map { ($_ => 1) } split m/ +/, $columns;
22 sub test_file_content {
24 my $content = read_file($file);
26 while ($content =~ m{(?:INSTANCE_CONF\.|\$(?:main)?::instance_conf->)get_([a-z0-9_]+)}gi) {
27 ok($default_columns{$1} || $compatibility_functions{$1}, "'get_${1}' is a valid method call on \$::instance_conf in $file");
31 %default_columns = read_default_columns();
32 my @files = glob('*.pl');
33 find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/; }, 'SL');
34 find(sub { push(@files, $File::Find::name) if $_ =~ /\.pl$/; }, qw(bin/mozilla sql/Pg-upgrade2 scripts));
35 find(sub { push(@files, $File::Find::name) if $_ =~ /\.html$/; }, 'templates/webpages');
37 test_file_content($_) for @files;