store requested strictures version so we can switch behavior based on it
[p5sagit/strictures.git] / t / strictures.t
index 65b2893..d2c6ad6 100644 (file)
@@ -1,3 +1,5 @@
+BEGIN { delete $ENV{PERL_STRICTURES_EXTRA} }
+
 use Test::More qw(no_plan);
 
 our (@us, @expect);
@@ -8,8 +10,10 @@ sub capture_us { push @us, capture_stuff }
 sub capture_expect { push @expect, capture_stuff }
 
 {
+  BEGIN { $ENV{PERL_STRICTURES_EXTRA} = 0 }
   use strictures 1;
   BEGIN { capture_us }
+  BEGIN { delete $ENV{PERL_STRICTURES_EXTRA} }
 }
 
 {
@@ -21,21 +25,14 @@ sub capture_expect { push @expect, capture_stuff }
 # I'm assuming here we'll have more cases later. maybe not. eh.
 
 foreach my $idx (0 .. $#us) {
+  # ignore lexicalized hints
+  $us[$idx][0] &= ~ 0x20000;
   is($us[$idx][0], $expect[$idx][0], 'Hints ok for case '.($idx+1));
   is($us[$idx][1], $expect[$idx][1], 'Warnings ok for case '.($idx+1));
 }
 
-{
-  local $0 = 't/00load.t';
-  sub Foo::new { 1 }
-  chdir("t/smells-of-vcs");
-  my $r = eval q{
-    use strictures 1;
-    new Foo 1, 2, 3;
-  };
-  # I don't test $@ here since if indirect isn't installed we hit one
-  # error and if it is we hit another; it's enough the code path's hit.
-  ok(!$r, 'strictures blows up for t/00load.t');
-}
+my $v;
+eval { $v = strictures->VERSION; 1 } or diag $@;
+is $v, $strictures::VERSION, '->VERSION returns version correctly';
 
 ok(!eval q{use strictures 2; 1; }, "Can't use strictures 2 (this is version 1)");