]> git.vpit.fr Git - perl/modules/Task-Devel-Cover-Recommended.git/blobdiff - samples/generate.pl
Make sure no literal 'package FOO' appears in samples/generate.pl
[perl/modules/Task-Devel-Cover-Recommended.git] / samples / generate.pl
index e93562ebbd7b304893bb09b1332c8cd02ee395bc..13d8db9eb6767e71ac3689ca9756ac03a3df06e1 100644 (file)
@@ -207,10 +207,15 @@ sub sorthr ($) {
  map { $_ => $hr->{$_} } sort keys %$hr;
 }
 
+# Make sure no package FOO statement appears in this file.
+my $package_statement = join ' ', 'package',
+                                   $task_pkg;
+
 my %vars = (
  TARGET_PKG             => $target_pkg,
  TARGET_VERSION         => $target_version,
  TASK_PKG               => $task_pkg,
+ PACKAGE_TASK_PKG       => $package_statement,
  TASK_VERSION           => $new_task_version,
  PERL_PREREQ            => $prereqs{perl},
  CONFIGURE_PREREQS_POD  => deplist_to_pod(sorthr $prereqs{configure}),
@@ -226,6 +231,7 @@ my %vars = (
   sorthr $prereqs{run},
   $target_pkg => $target_version,
  ),
+ TESTED_PREREQS         => deplist_to_perl(sorthr $prereqs{run}),
  BUG_EMAIL              => $bug_email,
  BUG_QUEUE              => $bug_queue,
  YEARS                  => $years,
@@ -233,7 +239,7 @@ my %vars = (
 
 my %templates = (
  $task_file => <<'TEMPLATE',
-package __TASK_PKG__;
+__PACKAGE_TASK_PKG__;
 
 use strict;
 use warnings;
@@ -353,6 +359,34 @@ WriteMakefile(
   FILES => "$dist-* *.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt*"
  }
 );
+TEMPLATE
+ # ----------------------------------------------------------------------------
+ 't/01-deps.t' => <<'TEMPLATE',
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+my $TESTED_PREREQS = __TESTED_PREREQS__;
+
+plan tests => keys(%$TESTED_PREREQS) + 1;
+
+my @tests = map [ $_ => $TESTED_PREREQS->{$_} ], keys %$TESTED_PREREQS;
+push @tests, [ '__TARGET_PKG__' => '__TARGET_VERSION__' ];
+
+for my $test (@tests) {
+ my ($module, $version) = @$test;
+ local $@;
+ if ($version && $version !~ /^[0._]*$/) {
+  eval "use $module $version ()";
+  is $@, '', "$module v$version is available";
+ } else {
+  eval "use $module ()";
+  is $@, '', "any version of $module is available";
+ }
+}
 TEMPLATE
 );