gotta have a plan
[p5sagit/Devel-Declare.git] / t / simple.t
index 266bb8b..0a44fe8 100644 (file)
@@ -1,23 +1,37 @@
 use strict;
 use warnings;
-
-print "1..1\n";
+use Test::More;
 
 sub method {
-  my ($pack, $name, $sub) = @_;
+  my ($usepack, $name, $inpack, $sub) = @_;
   no strict 'refs';
-  *{"${pack}::${name}"} = $sub;
+  *{"${inpack}::${name}"} = $sub;
+}
+
+sub handle_method {
+  my ($usepack, $use, $inpack, $name) = @_;
+  return sub (&) { ($usepack, $name, $inpack, $_[0]); };
 }
 
-use Devel::Declare 'method';
+use Devel::Declare 'method' => \&handle_method;
+
+my ($args1, $args2);
 
 method bar {
-  my $str = join(', ', @_);
-  if ($str eq 'main, baz, quux') {
-    print "ok 1\n";
-  } else {
-    print "not ok 1\n";
-  }
+  $args1 = join(', ', @_);
 };
 
-__PACKAGE__->bar(qw(baz quux));
+method # blather
+  baz
+  # whee
+{ # fweet
+  $args2 = join(', ', @_);
+};
+
+__PACKAGE__->bar(qw(1 2));
+__PACKAGE__->baz(qw(3 4));
+
+is($args1, 'main, 1, 2', 'Method bar args ok');
+is($args2, 'main, 3, 4', 'Method baz args ok');
+
+done_testing;