Beam-Emitter

 view release on metacpan or  search on metacpan

t/unsubscribe_global_destruction.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More;
use Test::Fatal;

use Beam::Emitter;

{
    package MyEmitter;

    use Moo; with 'Beam::Emitter';
}

my $emitter = MyEmitter->new;

my $unsubscribe = $emitter->on( ping => sub { } );

# simulate Global Destruction with $emitter destroyed first

undef $emitter;

ok !exception { $unsubscribe->() }, 'unsubscribe survived destroyed emitter';

done_testing;



( run in 1.642 second using v1.01-cache-2.11-cpan-54e63673c56 )