Changelogging.
[gitmo/Class-MOP.git] / t / 082_get_code_info.t
index 1a10319..a0026de 100644 (file)
@@ -1,13 +1,15 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
-use Test::More 'no_plan';
+use Test::More tests => 6;
+use Sub::Name 'subname';
+
+BEGIN {
+    $^P &= ~0x200; # Don't munger anonymous sub names
+}
 
 BEGIN { use_ok("Class::MOP") }
 
-use Sub::Name qw(subname);
 
 sub code_name_is ($$$;$) {
     my ( $code, $stash, $name, $desc ) = @_;
@@ -29,3 +31,14 @@ code_name_is( subname("", sub {}), "main" => "" );
 require Class::MOP::Method;
 code_name_is( \&Class::MOP::Method::name, "Class::MOP::Method", "name" );
 
+{
+    package Foo;
+
+    sub MODIFY_CODE_ATTRIBUTES {
+        my ($class, $code) = @_;
+        ::ok(!Class::MOP::get_code_info($code), "no name for a coderef that's still compiling");
+        return ();
+    }
+
+    sub foo : Bar {}
+}