]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blob - t/66-uplevel-context.t
fix unwind()
[perl/modules/Scope-Upper.git] / t / 66-uplevel-context.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 6;
7
8 use Scope::Upper qw<uplevel UP>;
9
10 {
11  my $want;
12  my @res = sub {
13   uplevel {
14    $want = wantarray;
15   };
16   return;
17  }->();
18  is $want, undef, 'static void context';
19 }
20
21 {
22  my $want;
23  my @res = sub {
24   my $res = uplevel {
25    $want = wantarray;
26   };
27   return;
28  }->();
29  is $want, '', 'static scalar context';
30 }
31
32 {
33  my $want;
34  my $res = sub {
35   my @res = uplevel {
36    $want = wantarray;
37   };
38   return;
39  }->();
40  is $want, 1, 'static list context';
41 }
42
43 {
44  my $want;
45  my @res = sub {
46   sub {
47    uplevel {
48     $want = wantarray;
49    } UP;
50   }->();
51   return;
52  }->();
53  is $want, undef, 'dynamic void context';
54 }
55
56 {
57  my $want;
58  my @res = sub {
59   my $res = sub {
60    uplevel {
61     $want = wantarray;
62    } UP;
63   }->();
64   return;
65  }->();
66  is $want, '', 'dynamic scalar context';
67 }
68
69 {
70  my $want;
71  my $res = sub {
72   my @res = sub {
73    uplevel {
74     $want = wantarray;
75    } UP;
76   }->();
77   return;
78  }->();
79  is $want, 1, 'dynamic list context';
80 }