Commit | Line | Data |
421e9f8d |
1 | #!/usr/local/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | use Test::More; |
6 | use lib 't/lib'; |
7 | |
acf6ced2 |
8 | plan tests => 16; |
421e9f8d |
9 | |
10 | use_ok('TestApp'); |
11 | |
12 | my $app = TestApp->new; |
13 | |
9bef9c02 |
14 | is($app->_role_from_plugin('+'.$_), $_) |
15 | for(qw/MyPrettyPlugin My::Pretty::Plugin/); |
16 | |
17 | is($app->_role_from_plugin($_), 'TestApp::Plugin::'.$_) |
208f7b27 |
18 | for(qw/Foo/); |
9bef9c02 |
19 | |
421e9f8d |
20 | is( $app->foo, "original foo", 'original foo value'); |
21 | is( $app->bar, "original bar", 'original bar value'); |
22 | is( $app->bor, "original bor", 'original bor value'); |
23 | |
24 | ok($app->load_plugin('Bar'), "Loaded Bar"); |
25 | is( $app->bar, "override bar", 'overridden bar via plugin'); |
26 | |
acf6ced2 |
27 | is( $app->_original_class_name, 'TestApp', '_original_class_name works'); |
28 | |
421e9f8d |
29 | ok($app->load_plugin('Baz'), "Loaded Baz"); |
30 | is( $app->baz, "plugin baz", 'added baz via plugin'); |
421e9f8d |
31 | |
32 | ok($app->load_plugin('Foo'), "Loaded Foo"); |
33 | is( $app->foo, "around foo", 'around foo via plugin'); |
421e9f8d |
34 | |
9bef9c02 |
35 | ok($app->load_plugin('+TestApp::Plugin::Bor'), "Loaded Bor"); |
421e9f8d |
36 | is( $app->bor, "plugin bor", 'override bor via plugin'); |
6ce00a8f |
37 | |
38 | #print $app->meta->dump(3); |
acf6ced2 |
39 | |
40 | |