Start trivial tests for dynamiccomponent
Tomas Doran (t0m) [Sun, 24 May 2009 18:03:20 +0000 (19:03 +0100)]
t/03_dynamiccomponent.t [new file with mode: 0644]

diff --git a/t/03_dynamiccomponent.t b/t/03_dynamiccomponent.t
new file mode 100644 (file)
index 0000000..ef4ea3a
--- /dev/null
@@ -0,0 +1,28 @@
+use strict;
+use warnings;
+
+use Test::More tests => 3;
+use Test::Exception;
+
+use Moose ();
+BEGIN { use_ok('CatalystX::DynamicComponent') }
+
+my $testapp_counter = 0;
+sub generate_testapp {
+    my $role_options = shift || {};
+    my $meta = Moose->init_meta( for_class => "TestApp" . $testapp_counter++ );
+    $meta->superclasses('Catalyst');
+    Moose::Util::apply_all_roles($meta, 'CatalystX::DynamicComponent', $role_options);
+    return $meta;
+}
+
+throws_ok { generate_testapp(); }
+    qr/name\) is required/, 'name is required';
+
+{
+    my $app_meta = generate_testapp({ name => 'dynamic_component_method' });
+    my $app = $app_meta->name;
+    ok $app->can('dynamic_component_method'), 'dynamic component method added';
+
+}
+