File: try_it_todo.t

package info (click to toggle)
perl 5.32.1-4%2Bdeb11u3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 113,408 kB
  • sloc: ansic: 641,443; perl: 491,650; sh: 70,967; pascal: 8,354; cpp: 4,103; xml: 2,428; makefile: 2,237; yacc: 1,173; lisp: 1
file content (51 lines) | stat: -rw-r--r-- 931 bytes parent folder | download | duplicates (10)
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
use strict;
use warnings;

use Test2::API qw/context test2_stack/;

sub done_testing {
    my $ctx = context();

    die "Test Already ended!" if $ctx->hub->ended;
    $ctx->hub->finalize($ctx->trace, 1);
    $ctx->release;
}

sub ok($;$) {
    my ($bool, $name) = @_;
    my $ctx = context();
    $ctx->ok($bool, $name);
    $ctx->release;
}

sub diag {
    my $ctx = context();
    $ctx->diag( join '', @_ );
    $ctx->release;
}

ok(1, "First");

my $filter = test2_stack->top->filter(sub {
    my ($hub, $event) = @_;

    # Turn a diag into a note
    return Test2::Event::Note->new(%$event) if ref($event) eq 'Test2::Event::Diag';

    # Set todo on ok's
    if ($event->isa('Test2::Event::Ok')) {
        $event->set_todo('here be dragons');
        $event->set_effective_pass(1);
    }

    return $event;
});

ok(0, "Second");
diag "should be a note";

test2_stack->top->unfilter($filter);

ok(1, "Third");

done_testing;