update changelog
[p5sagit/strictures.git] / t / strictures.t
index 98919ee..877439b 100644 (file)
@@ -52,6 +52,36 @@ SKIP: {
     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" );
+  }
+}