use Test::More tests => 11; use warnings; use strict; use POE; use Data::Dumper; use_ok('POE::API::Peek'); my $api = POE::API::Peek->new(); my $sess = POE::Session->create( inline_states => { _start => \&_start, _stop => sub {}, }, heap => { api => $api }, ); POE::Kernel->run(); ############################################### sub _start { my $sess = $_[SESSION]; my $api = $_[HEAP]->{api}; my $cur_sess; ok($api->is_kernel_running, "is_kernel_running() successfully reports that Kernel is in fact running."); is($api->active_event,'_start', "active_event() returns proper event name"); # kernel_memory_size {{{ my $size; eval { $size = $api->kernel_memory_size() }; is($@, '', "kernel_memory_size() causes no exceptions"); # we can't really test this value much since its going to be different on # every system, and even between runs ok(defined $size, "kernel_memory_size() returns data"); ok($size > 0, "kernel_memory_size() returns non-zero value"); # }}} # event_list {{{ my $events; eval { $events = $api->event_list() }; is($@, '', "event_list() causes no exceptions"); is(ref $events, 'HASH', "event_list() returns hashref"); ok(keys %$events, "event_list() returns populated hashref"); my $id = $sess->ID; is_deeply($events, { $id => [ '_start', '_stop' ] }, "event_list() returns correct list of sessions and events"); # }}} is($api->which_loop(), 'POE::Loop::Select', 'which_loop() loop name check'); }