AnyEvent-XSPromises
view release on metacpan or search on metacpan
new_version||5.009000|
new_warnings_bitfield|||
next_symbol|||
nextargv|||
nextchar|||
ninstr|||n
no_bareword_allowed|||
no_fh_allowed|||
no_op|||
noperl_die|||vn
not_a_number|||
not_incrementable|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
oopsAV|||
oopsHV|||
op_append_elem||5.013006|
op_append_list||5.013006|
op_clear|||
op_contextualize||5.013006|
op_convert_list||5.021006|
warn_sv||5.013001|
warner_nocontext|||vn
warner|5.006000|5.004000|pv
warn|||v
was_lvalue_sub|||
watch|||
whichsig_pvn||5.015004|
whichsig_pv||5.015004|
whichsig_sv||5.015004|
whichsig|||
win32_croak_not_implemented|||n
with_queued_errors|||
wrap_op_checker||5.015008|
write_to_stderr|||
xs_boot_epilog|||
xs_handshake|||vn
xs_version_bootcheck|||
yyerror_pvn|||
yyerror_pv|||
yyerror|||
yylex|||
#define DPPP_CAT2(x,y) CAT2(x,y)
#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
#ifndef PERL_REVISION
# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
# define PERL_PATCHLEVEL_H_IMPLICIT
# include <patchlevel.h>
# endif
# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
# include <could_not_find_Perl_patchlevel.h>
# endif
# ifndef PERL_REVISION
# define PERL_REVISION (5)
/* Replace: 1 */
# define PERL_VERSION PATCHLEVEL
# define PERL_SUBVERSION SUBVERSION
/* Replace PERL_PATCHLEVEL with PERL_VERSION */
/* Replace: 0 */
# endif
#endif
my $all_good;
resolved->then(sub {
fail if $all_good;
$all_good= 1;
}, sub {
fail;
})->finally(sub {
ok($all_good);
});
},
cannot_resolve_and_reject => sub {
my $d= deferred;
$d->resolve;
eval { $d->reject; fail; };
expect_resolve($d->promise);
},
cannot_reject_and_resolve => sub {
my $d= deferred;
$d->reject;
eval { $d->resolve; fail; };
expect_reject($d->promise);
},
delayed_resolve_and_reject => sub {
my $d= deferred;
delayed(0.1, sub {
$d->resolve;
eval { $d->resolve; fail; };
eval { $d->reject; fail; };
});
expect_resolve($d->promise);
},
rejected_state_must_not_change => sub {
my $d= deferred;
$d->reject;
eval { $d->resolve; fail; };
expect_reject($d->promise);
},
rejected_immediately => sub {
expect_reject(rejected());
},
rejected_delayed => sub {
my $d= deferred;
delayed(0.2, sub {
$d2->resolve;
});
$d2->promise->then(sub {
is($one, 1);
is($two, 1);
is($three, 1);
});
},
call_me_later => sub {
my $not_now= 1;
my $p= resolved->then(sub {
is($not_now, 0);
});
$not_now= 0;
$p
},
call_me_later_2 => sub {
my $d= deferred;
my $not_now= 1;
my $p= $d->promise->then(sub {
is($not_now, 0);
});
$d->resolve;
$not_now= 0;
$p
},
then_in_then_call_me_later => sub {
my $r= resolved;
my $not_now= 1;
my $but_now= 0;
my $p= $r->then(sub {
$r->then(sub {
is($but_now, 1);
is($not_now, 0);
});
$but_now= 1;
is($not_now, 0);
});
$not_now= 0;
$p
},
call_me_later_async => sub {
my $d= deferred;
my $ok;
my $p= $d->promise->then(sub {
is($ok, 1);
});
delayed(0, sub {
$d->resolve;
( run in 0.475 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )