summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/t/Legacy/TestTester/check_tests.t
blob: 96b84703291a476e6eba66d9e58ec109891a29bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
use strict;

use Test::Tester;

use Data::Dumper qw(Dumper);

my $test = Test::Builder->new;
$test->plan(tests => 105);

my $cap;

$cap = $test;

my @tests = (
    [
        'pass',
        '$cap->ok(1, "pass");',
        {
            name      => "pass",
            ok        => 1,
            actual_ok => 1,
            reason    => "",
            type      => "",
            diag      => "",
            depth     => 0,
        },
    ],
    [
        'pass diag',
        '$cap->ok(1, "pass diag");
        $cap->diag("pass diag1");
        $cap->diag("pass diag2");',
        {
            name      => "pass diag",
            ok        => 1,
            actual_ok => 1,
            reason    => "",
            type      => "",
            diag      => "pass diag1\npass diag2\n",
            depth     => 0,
        },
    ],
    [
        'pass diag no \\n',
        '$cap->ok(1, "pass diag");
        $cap->diag("pass diag1");
        $cap->diag("pass diag2");',
        {
            name      => "pass diag",
            ok        => 1,
            actual_ok => 1,
            reason    => "",
            type      => "",
            diag      => "pass diag1\npass diag2",
            depth     => 0,
        },
    ],
    [
        'fail',
        '$cap->ok(0, "fail");
        $cap->diag("fail diag");',
        {
            name      => "fail",
            ok        => 0,
            actual_ok => 0,
            reason    => "",
            type      => "",
            diag      => "fail diag\n",
            depth     => 0,
        },
    ],
    [
        'skip',
        '$cap->skip("just because");',
        {
            name      => "",
            ok        => 1,
            actual_ok => 1,
            reason    => "just because",
            type      => "skip",
            diag      => "",
            depth     => 0,
        },
    ],
    [
        'todo_skip',
        '$cap->todo_skip("why not");',
        {
            name      => "",
            ok        => 1,
            actual_ok => 0,
            reason    => "why not",
            type      => "todo_skip",
            diag      => "",
            depth     => 0,
        },
    ],
);

my $big_code = "";
my @big_expect;

foreach my $test (@tests) {
    my ($name, $code, $expect) = @$test;

    $big_code .= "$code\n";
    push(@big_expect, $expect);

    my $test_sub = eval "sub {$code}";

    check_test($test_sub, $expect, $name);
}

my $big_test_sub = eval "sub {$big_code}";

check_tests($big_test_sub, \@big_expect, "run all");