Debian lenny version packages
[pkg-perl] / deb-src / libsub-uplevel-perl / libsub-uplevel-perl-0.1901 / t / 06_db_args.t
diff --git a/deb-src/libsub-uplevel-perl/libsub-uplevel-perl-0.1901/t/06_db_args.t b/deb-src/libsub-uplevel-perl/libsub-uplevel-perl-0.1901/t/06_db_args.t
new file mode 100644 (file)
index 0000000..bee07f4
--- /dev/null
@@ -0,0 +1,31 @@
+use lib qw(t/lib);
+use strict;
+use Test::More tests => 3;
+
+BEGIN { use_ok('Sub::Uplevel'); }
+
+sub get_caller_args {
+    package DB;
+    my @x = caller(1);
+    return @DB::args;
+}
+
+sub addition {
+    my $x;
+    $x += $_ for @_;
+    return $x;
+}
+
+sub wrap_addition {
+    my @args = get_caller_args();
+    my $sum = uplevel 1, \&addition, @_;
+    return ($sum, @args);
+}
+
+my ($sum, @args) = wrap_addition(1, 2, 3);
+
+is($sum, 6, "wrapper returned value correct");
+is_deeply( \@args, [1, 2, 3], "wrapper returned args correct" );
+
+
+