add an unshipped test to check versions are updated
authorTony Cook <tony@develop-help.com>
Sun, 6 May 2012 02:57:35 +0000 (12:57 +1000)
committerTony Cook <tony@develop-help.com>
Sun, 6 May 2012 02:57:35 +0000 (12:57 +1000)
lib/Imager/Graph/Horizontal.pm
lib/Imager/Graph/Vertical.pm
t/lib/Imager/Graph/Test.pm
t/x90cmp_version.t [new file with mode: 0644]

index 1c5b950..c3f5f49 100644 (file)
@@ -13,6 +13,8 @@ use Imager::Graph;
 
 use constant STARTING_MIN_VALUE => 99999;
 
+our $VERSION = "0.10";
+
 =over 4
 
 =item add_data_series(\@data, $series_name)
index d64be70..5de1cfc 100644 (file)
@@ -40,6 +40,8 @@ use Imager::Graph;
 @ISA = qw(Imager::Graph);
 use Imager::Fill;
 
+our $VERSION = "0.10";
+
 use constant STARTING_MIN_VALUE => 99999;
 
 =over
index 93ad59b..3dcf141 100644 (file)
@@ -8,6 +8,8 @@ our @ISA = qw(Exporter);
 
 our @EXPORT_OK = qw(cmpimg);
 
+our $VERSION = "0.10";
+
 sub cmpimg ($$;$$) {
   my ($img, $filename, $error, $note) = @_;
 
diff --git a/t/x90cmp_version.t b/t/x90cmp_version.t
new file mode 100644 (file)
index 0000000..4afdaed
--- /dev/null
@@ -0,0 +1,47 @@
+#!perl
+# inspired by perl's cmpVERSION
+use strict;
+use warnings;
+use Test::More;
+use ExtUtils::MakeMaker;
+use File::Spec::Functions 'devnull';
+
+-d ".git"
+   or plan skip_all => "Not a git tree";
+
+chomp(my $base_tag = `git describe --abbrev=0`);
+
+my @changed = grep /\.pm$/ && m(/),
+  `git diff --name-only $base_tag --diff-filter=ACMRTUXB`;
+
+chomp @changed;
+
+plan tests => 1;
+
+my @need_update;
+for my $file (@changed) {
+  my $orig_content = get_file_from_git($file, $base_tag);
+  my $orig_version = eval { MM->parse_version(\$orig_content) };
+  my $curr_version = eval { MM->parse_version($file) };
+
+  if ($curr_version ne "undef" && $orig_version ne "undef") {
+    push @need_update, "$file - out of date"
+      if $curr_version < $orig_version;
+  }
+  elsif ($orig_version ne "undef") {
+    push @need_update, "$file - version was removed";
+  }
+  elsif ($curr_version eq "undef") {
+    push @need_update, "$file - has no version";
+  }
+}
+
+ok(@need_update == 0, "check versions updated");
+diag $_ for @need_update;
+
+sub get_file_from_git {
+    my ($file, $tag) = @_;
+    local $/;
+    my $null = devnull();
+    return scalar `git --no-pager show $tag:$file 2>$null`;
+}