root/lang/perl/Class-Hookable/tags/Class-Hookable-0.01/t/02_register_hook.t @ 1833

Revision 1833, 0.7 kB (checked in by nyarla, 6 years ago)

lang/perl/Class-Hookable: Tagged version 0.01 release.

Line 
1#!perl -T
2
3use strict;
4use warnings;
5
6use Test::More tests => 3;
7use Class::Hookable;
8
9my $hook = Class::Hookable->new;
10my $plugin = Plugin->new;
11
12$hook->register_hook(
13    $plugin,
14    'foo.bar' => $plugin->can('foo'),
15);
16
17is(
18    $hook->hooks->{'foo.bar'}->[0]->{'plugin'},
19    $plugin,
20);
21
22is(
23    $hook->hooks->{'foo.bar'}->[0]->{'callback'},
24    $plugin->can('foo'),
25);
26
27{
28    no warnings 'redefine';
29    *Class::Hookable::filter_plugin = sub { 0 };
30}
31
32$hook->register_hook(
33    $plugin,
34    'AAA.BBB' => $plugin->can('bar'),
35);
36
37is(
38    $hook->hooks->{'foo.bar'}->[1],
39    undef,
40);
41
42package Plugin;
43
44sub new { bless {}, shift }
45sub foo {}
46sub bar {}
47
481;
49__END__
Note: See TracBrowser for help on using the browser.