Add a version number test
Tomas Doran [Wed, 16 Jun 2010 01:46:39 +0000 (02:46 +0100)]
Makefile.PL
xt/version_numbers.t [new file with mode: 0644]

index 6f49885..2e19d5d 100644 (file)
@@ -23,6 +23,8 @@ requires 'Path::Class' => '0.09';
 requires 'Template'    => '2.14';
 
 author_requires 'IPC::Run3';
+author_requires 'Module::Info';
+author_requires 'File::Find::Rule';
 
 test_requires 'Test::More' => '0.94';
 
diff --git a/xt/version_numbers.t b/xt/version_numbers.t
new file mode 100644 (file)
index 0000000..4e2fa65
--- /dev/null
@@ -0,0 +1,32 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use File::Spec;
+use File::Find::Rule;
+use Module::Info;
+
+use Test::More;
+
+my %versions;
+for my $pm_file ( File::Find::Rule->file->name( qr/\.pm$/ )->in(File::Spec->catdir($Bin, '..', 'lib') ) ) {
+    my $mod = Module::Info->new_from_file($pm_file);
+
+    ( my $stripped_file = $pm_file ) =~ s{.*lib/}{};
+
+    $versions{$stripped_file} = $mod->version;
+}
+
+my $ver = delete $versions{'Catalyst/Devel.pm'};
+ok $ver;
+ok scalar(keys %versions);
+
+for my $module ( sort keys %versions ) {
+    next unless $versions{$module};
+
+    is( $versions{$module}, $ver,
+        "version for $module is the same as in Catalyst/Devel.pm" );
+}
+
+done_testing;
+