xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Legacy/run_test.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1*5759b3d2Safresh1use strict;
2*5759b3d2Safresh1
3*5759b3d2Safresh1use Test::Tester;
4*5759b3d2Safresh1
5*5759b3d2Safresh1use Data::Dumper qw(Dumper);
6*5759b3d2Safresh1
7*5759b3d2Safresh1my $test = Test::Builder->new;
8*5759b3d2Safresh1$test->plan(tests => 54);
9*5759b3d2Safresh1
10*5759b3d2Safresh1my $cap;
11*5759b3d2Safresh1
12*5759b3d2Safresh1{
13*5759b3d2Safresh1	$cap = Test::Tester->capture;
14*5759b3d2Safresh1	my ($prem, @results) = run_tests(
15*5759b3d2Safresh1		sub {$cap->ok(1, "run pass")}
16*5759b3d2Safresh1	);
17*5759b3d2Safresh1
18*5759b3d2Safresh1	local $Test::Builder::Level = 0;
19*5759b3d2Safresh1
20*5759b3d2Safresh1	$test->is_eq($prem, "", "run pass no prem");
21*5759b3d2Safresh1	$test->is_num(scalar (@results), 1, "run pass result count");
22*5759b3d2Safresh1
23*5759b3d2Safresh1	my $res = $results[0];
24*5759b3d2Safresh1
25*5759b3d2Safresh1	$test->is_eq($res->{name}, "run pass", "run pass name");
26*5759b3d2Safresh1	$test->is_eq($res->{ok}, 1, "run pass ok");
27*5759b3d2Safresh1	$test->is_eq($res->{actual_ok}, 1, "run pass actual_ok");
28*5759b3d2Safresh1	$test->is_eq($res->{reason}, "", "run pass reason");
29*5759b3d2Safresh1	$test->is_eq($res->{type}, "", "run pass type");
30*5759b3d2Safresh1	$test->is_eq($res->{diag}, "", "run pass diag");
31*5759b3d2Safresh1	$test->is_num($res->{depth}, 0, "run pass depth");
32*5759b3d2Safresh1}
33*5759b3d2Safresh1
34*5759b3d2Safresh1{
35*5759b3d2Safresh1	my ($prem, @results) = run_tests(
36*5759b3d2Safresh1		sub {$cap->ok(0, "run fail")}
37*5759b3d2Safresh1	);
38*5759b3d2Safresh1
39*5759b3d2Safresh1	local $Test::Builder::Level = 0;
40*5759b3d2Safresh1
41*5759b3d2Safresh1	$test->is_eq($prem, "", "run fail no prem");
42*5759b3d2Safresh1	$test->is_num(scalar (@results), 1, "run fail result count");
43*5759b3d2Safresh1
44*5759b3d2Safresh1	my $res = $results[0];
45*5759b3d2Safresh1
46*5759b3d2Safresh1	$test->is_eq($res->{name}, "run fail", "run fail name");
47*5759b3d2Safresh1	$test->is_eq($res->{actual_ok}, 0, "run fail actual_ok");
48*5759b3d2Safresh1	$test->is_eq($res->{ok}, 0, "run fail ok");
49*5759b3d2Safresh1	$test->is_eq($res->{reason}, "", "run fail reason");
50*5759b3d2Safresh1	$test->is_eq($res->{type}, "", "run fail type");
51*5759b3d2Safresh1	$test->is_eq($res->{diag}, "", "run fail diag");
52*5759b3d2Safresh1	$test->is_num($res->{depth}, 0, "run fail depth");
53*5759b3d2Safresh1}
54*5759b3d2Safresh1
55*5759b3d2Safresh1{
56*5759b3d2Safresh1	my ($prem, @results) = run_tests(
57*5759b3d2Safresh1		sub {$cap->skip("just because")}
58*5759b3d2Safresh1	);
59*5759b3d2Safresh1
60*5759b3d2Safresh1	local $Test::Builder::Level = 0;
61*5759b3d2Safresh1
62*5759b3d2Safresh1	$test->is_eq($prem, "", "skip no prem");
63*5759b3d2Safresh1	$test->is_num(scalar (@results), 1, "skip result count");
64*5759b3d2Safresh1
65*5759b3d2Safresh1	my $res = $results[0];
66*5759b3d2Safresh1
67*5759b3d2Safresh1	$test->is_eq($res->{name}, "", "skip name");
68*5759b3d2Safresh1	$test->is_eq($res->{actual_ok}, 1, "skip actual_ok");
69*5759b3d2Safresh1	$test->is_eq($res->{ok}, 1, "skip ok");
70*5759b3d2Safresh1	$test->is_eq($res->{reason}, "just because", "skip reason");
71*5759b3d2Safresh1	$test->is_eq($res->{type}, "skip", "skip type");
72*5759b3d2Safresh1	$test->is_eq($res->{diag}, "", "skip diag");
73*5759b3d2Safresh1	$test->is_num($res->{depth}, 0, "skip depth");
74*5759b3d2Safresh1}
75*5759b3d2Safresh1
76*5759b3d2Safresh1{
77*5759b3d2Safresh1	my ($prem, @results) = run_tests(
78*5759b3d2Safresh1		sub {$cap->todo_skip("just because")}
79*5759b3d2Safresh1	);
80*5759b3d2Safresh1
81*5759b3d2Safresh1	local $Test::Builder::Level = 0;
82*5759b3d2Safresh1
83*5759b3d2Safresh1	$test->is_eq($prem, "", "todo_skip no prem");
84*5759b3d2Safresh1	$test->is_num(scalar (@results), 1, "todo_skip result count");
85*5759b3d2Safresh1
86*5759b3d2Safresh1	my $res = $results[0];
87*5759b3d2Safresh1
88*5759b3d2Safresh1	$test->is_eq($res->{name}, "", "todo_skip name");
89*5759b3d2Safresh1	$test->is_eq($res->{actual_ok}, 0, "todo_skip actual_ok");
90*5759b3d2Safresh1	$test->is_eq($res->{ok}, 1, "todo_skip ok");
91*5759b3d2Safresh1	$test->is_eq($res->{reason}, "just because", "todo_skip reason");
92*5759b3d2Safresh1	$test->is_eq($res->{type}, "todo_skip", "todo_skip type");
93*5759b3d2Safresh1	$test->is_eq($res->{diag}, "", "todo_skip diag");
94*5759b3d2Safresh1	$test->is_num($res->{depth}, 0, "todo_skip depth");
95*5759b3d2Safresh1}
96*5759b3d2Safresh1
97*5759b3d2Safresh1{
98*5759b3d2Safresh1	my ($prem, @results) = run_tests(
99*5759b3d2Safresh1		sub {$cap->diag("run diag")}
100*5759b3d2Safresh1	);
101*5759b3d2Safresh1
102*5759b3d2Safresh1	local $Test::Builder::Level = 0;
103*5759b3d2Safresh1
104*5759b3d2Safresh1	$test->is_eq($prem, "run diag\n", "run diag prem");
105*5759b3d2Safresh1	$test->is_num(scalar (@results), 0, "run diag result count");
106*5759b3d2Safresh1}
107*5759b3d2Safresh1
108*5759b3d2Safresh1{
109*5759b3d2Safresh1	my ($prem, @results) = run_tests(
110*5759b3d2Safresh1		sub {
111*5759b3d2Safresh1			$cap->ok(1, "multi pass");
112*5759b3d2Safresh1			$cap->diag("multi pass diag1");
113*5759b3d2Safresh1			$cap->diag("multi pass diag2");
114*5759b3d2Safresh1			$cap->ok(0, "multi fail");
115*5759b3d2Safresh1			$cap->diag("multi fail diag");
116*5759b3d2Safresh1		}
117*5759b3d2Safresh1	);
118*5759b3d2Safresh1
119*5759b3d2Safresh1	local $Test::Builder::Level = 0;
120*5759b3d2Safresh1
121*5759b3d2Safresh1	$test->is_eq($prem, "", "run multi no prem");
122*5759b3d2Safresh1	$test->is_num(scalar (@results), 2, "run multi result count");
123*5759b3d2Safresh1
124*5759b3d2Safresh1	my $res_pass = $results[0];
125*5759b3d2Safresh1
126*5759b3d2Safresh1	$test->is_eq($res_pass->{name}, "multi pass", "run multi pass name");
127*5759b3d2Safresh1	$test->is_eq($res_pass->{actual_ok}, 1, "run multi pass actual_ok");
128*5759b3d2Safresh1	$test->is_eq($res_pass->{ok}, 1, "run multi pass ok");
129*5759b3d2Safresh1	$test->is_eq($res_pass->{reason}, "", "run multi pass reason");
130*5759b3d2Safresh1	$test->is_eq($res_pass->{type}, "", "run multi pass type");
131*5759b3d2Safresh1	$test->is_eq($res_pass->{diag}, "multi pass diag1\nmulti pass diag2\n",
132*5759b3d2Safresh1		"run multi pass diag");
133*5759b3d2Safresh1	$test->is_num($res_pass->{depth}, 0, "run multi pass depth");
134*5759b3d2Safresh1
135*5759b3d2Safresh1	my $res_fail = $results[1];
136*5759b3d2Safresh1
137*5759b3d2Safresh1	$test->is_eq($res_fail->{name}, "multi fail", "run multi fail name");
138*5759b3d2Safresh1	$test->is_eq($res_pass->{actual_ok}, 1, "run multi fail actual_ok");
139*5759b3d2Safresh1	$test->is_eq($res_fail->{ok}, 0, "run multi fail ok");
140*5759b3d2Safresh1	$test->is_eq($res_pass->{reason}, "", "run multi fail reason");
141*5759b3d2Safresh1	$test->is_eq($res_pass->{type}, "", "run multi fail type");
142*5759b3d2Safresh1	$test->is_eq($res_fail->{diag}, "multi fail diag\n", "run multi fail diag");
143*5759b3d2Safresh1	$test->is_num($res_pass->{depth}, 0, "run multi fail depth");
144*5759b3d2Safresh1}
145*5759b3d2Safresh1
146