File: event.t

package info (click to toggle)
libmagpie-perl 1.141660-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch
  • size: 3,524 kB
  • ctags: 337
  • sloc: perl: 4,081; xml: 405; makefile: 26
file content (39 lines) | stat: -rw-r--r-- 795 bytes parent folder | download | duplicates (4)
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
use strict;
use warnings;
use Test::More;
use Magpie::Constants;

use Magpie::Event;
use Magpie::Constants;

{

    package Testy::Testerson;
    use Moose;
    with qw( Magpie::Event );
    sub default_symbol_table { Magpie::SymbolTable->new }
}

my $e = Testy::Testerson->new();

ok($e);

can_ok( $e, 'add_symbol_handler' );
can_ok( $e, 'get_symbol_handler' );

$e->add_symbol_handler( 'testy' => sub { return 100; } );

my $array_ref
    = $e->symbol_table->get_symbol( $e->_qualify_symbol_name('testy') );

cmp_ok( ref( $array_ref->[0] ), 'eq', 'CODE', "Symbol table access works." );

my @array = $e->get_symbol_handler('testy');

is_deeply( $array_ref->[0], $array[0] );

my $ret = $e->handle_symbol( {}, 'testy' );

is( $ret, 100, "Handler sub returns expected code." );

done_testing();