Open
Description
Not a particularly hard task, but converting all tests is a lot of work. We want to go from:
# Promisify
is ref Mojo::Promise->resolve('foo'), 'Mojo::Promise', 'right class';
$promise = Mojo::Promise->reject('foo');
is ref $promise, 'Mojo::Promise', 'right class';
@errors = ();
$promise->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
$promise = Mojo::Promise->resolve('foo');
is refaddr(Mojo::Promise->resolve($promise)), refaddr($promise), 'same object';
$promise = Mojo::Promise->resolve('foo');
isnt refaddr(Mojo::Promise->new->resolve($promise)), refaddr($promise),
'different object';
$promise = Mojo::Promise->reject('foo');
is refaddr(Mojo::Promise->resolve($promise)), refaddr($promise), 'same object';
@errors = ();
$promise->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
$promise = Mojo::Promise->reject('foo');
$promise2 = Mojo::Promise->reject($promise);
isnt refaddr($promise2), refaddr($promise), 'different object';
@errors = ();
$promise2->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
to:
subtest 'Promisify' => sub {
is ref Mojo::Promise->resolve('foo'), 'Mojo::Promise', 'right class';
$promise = Mojo::Promise->reject('foo');
is ref $promise, 'Mojo::Promise', 'right class';
@errors = ();
$promise->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
$promise = Mojo::Promise->resolve('foo');
is refaddr(Mojo::Promise->resolve($promise)), refaddr($promise),
'same object';
$promise = Mojo::Promise->resolve('foo');
isnt refaddr(Mojo::Promise->new->resolve($promise)), refaddr($promise),
'different object';
$promise = Mojo::Promise->reject('foo');
is refaddr(Mojo::Promise->resolve($promise)), refaddr($promise),
'same object';
@errors = ();
$promise->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
$promise = Mojo::Promise->reject('foo');
$promise2 = Mojo::Promise->reject($promise);
isnt refaddr($promise2), refaddr($promise), 'different object';
@errors = ();
$promise2->catch(sub { push @errors, @_ })->wait;
is_deeply \@errors, ['foo'], 'promise rejected';
};
Block comments become the subtest description, and then we add a blank line in between unrelated test cases within the subtest. Here is another example.