bump version
[p5sagit/strictures.git] / t / strictures.t
index aecf332..877439b 100644 (file)
@@ -47,11 +47,41 @@ SKIP: {
   sub Foo::new { 1 }
   chdir("t/smells-of-vcs");
   local $strictures::Smells_Like_VCS = 1;
-  foreach my $file (qw(lib/one.pm t/one.t)) {
+  foreach my $file (qw(lib/one.pm t/one.faket)) {
     ok(!eval { require $file; 1 }, "Failed to load ${file}");
     like($@, qr{Indirect call of method}, "Failed due to indirect.pm, ok");
   }
   ok(eval { require "other/one.pl"; 1 }, "Loaded other/one.pl ok");
+  chdir("../..");
 }
 
 ok(!eval q{use strictures 2; 1; }, "Can't use strictures 2 (this is version 1)");
+
+SKIP: {
+  skip 'Extra tests disabled on perls <= 5.008003', 1
+    if $] < 5.008004;
+  local $ENV{PERL_STRICTURES_EXTRA} = 1;
+  local $strictures::extra_load_states = undef;
+  local @INC = ("t/dep_constellations/broken", @INC);
+  local %INC = %INC;
+  delete $INC{$_}
+    for qw( indirect.pm multidimensional.pm bareword/filehandles.pm );
+
+  {
+    open my $fh, '>', \my $str;
+    local *STDERR = $fh;
+    strictures->import;
+    like(
+      $str,
+      qr/Missing were:\n\n  indirect multidimensional bareword::filehandles/,
+      "failure to load all three extra deps is reported"
+    );
+  }
+
+  {
+    open my $fh, '>', \my $str;
+    local *STDERR = $fh;
+    strictures->import;
+    ok( !$str, "extra dep load failure is not reported a second time" );
+  }
+}