feex the tests
[gitmo/MooseX-Object-Pluggable.git] / t / 03-custom-ns.t
CommitLineData
0a369903 1#!/usr/local/bin/perl
2
3use strict;
4use warnings;
5use Test::More;
6use lib 't/lib';
7
6ce00a8f 8plan tests => 18;
0a369903 9
10use_ok('TestApp2');
11
12my $app = TestApp2->new;
13
14is($app->_role_from_plugin('+'.$_), $_)
15 for(qw/MyPrettyPlugin My::Pretty::Plugin/);
16
17is($app->_role_from_plugin($_), 'TestApp2::Plugin::'.$_)
18 for(qw/Foo/);
19
20is($app->_role_from_plugin($_), 'TestApp::Plugin::'.$_)
21 for(qw/Bar/);
22
23$app->_plugin_app_ns(['CustomNS', $app->_plugin_app_ns]);
24
25is($app->_role_from_plugin($_), 'CustomNS::Plugin::'.$_)
26 for(qw/Foo/);
27
28is($app->_role_from_plugin($_), 'TestApp::Plugin::'.$_)
29 for(qw/Bar/);
30
31is( $app->foo, "original foo", 'original foo value');
32is( $app->bar, "original bar", 'original bar value');
33is( $app->bor, "original bor", 'original bor value');
34
35ok($app->load_plugin('Bar'), "Loaded Bar");
36is( $app->bar, "override bar", 'overridden bar via plugin');
37
38ok($app->load_plugin('Baz'), "Loaded Baz");
39is( $app->baz, "plugin baz", 'added baz via plugin');
0a369903 40
41ok($app->load_plugin('Foo'), "Loaded Foo");
42is( $app->foo, "around foo CNS", 'around foo via plugin');
0a369903 43
44ok($app->load_plugin('+TestApp::Plugin::Bor'), "Loaded Bor");
0a369903 45is( $app->bor, "plugin bor", 'override bor via plugin');