package handling
[p5sagit/Devel-Declare.git] / t / pack.t
diff --git a/t/pack.t b/t/pack.t
new file mode 100644 (file)
index 0000000..0222dbd
--- /dev/null
+++ b/t/pack.t
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+use Test::More 'no_plan';
+
+sub class { $_[0]->(); }
+
+sub handle_class {
+  my ($pack, $use, $name, $proto, $is_block) = @_;
+  return (sub (&) { shift; }, undef, "package ${name};");
+}
+
+use Devel::Declare;
+use Devel::Declare 'class' => [ DECLARE_PACKAGE, \&handle_class ];
+
+my $packname;
+
+class Foo::Bar {
+  $packname = __PACKAGE__;
+};
+
+is($packname, 'Foo::Bar', 'Package saved ok');
+is(__PACKAGE__, 'main', 'Package scoped correctly');