Switch everything to autoclean. Add sanity tests to ensure appropriate modern perl...
t0m [Fri, 24 Apr 2009 21:41:35 +0000 (22:41 +0100)]
lib/CatalystX/DynamicComponent.pm
lib/CatalystX/ModelToControllerReflector.pm
lib/CatalystX/ModelsFromConfig.pm
lib/DynamicAppDemo/Controller/FakeExample.pm
lib/DynamicAppDemo/Controller/Root.pm
lib/DynamicAppDemo/ControllerBase.pm
lib/SomeModelClass.pm
t/00load_and_sane.t [new file with mode: 0644]

index 1c0d8ad..4cf8f68 100644 (file)
@@ -1,6 +1,6 @@
 package CatalystX::DynamicComponent;
 use Moose::Role;
-use namespace::clean -excpept => 'meta';
+use namespace::autoclean;
 
 sub _setup_dynamic_component {
     my ($app, $name, $config, $component_method) = @_;
index 4e82c59..b240db1 100644 (file)
@@ -1,6 +1,6 @@
 package CatalystX::ModelToControllerReflector;
 use Moose::Role;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
 
 with 'CatalystX::DynamicComponent' 
     => { alias => { _setup_dynamic_component => '_setup_dynamic_controller' } };
index f765c40..24ef29e 100644 (file)
@@ -1,6 +1,7 @@
 package CatalystX::ModelsFromConfig;
 use Moose::Role;
 use Catalyst::Model::Adaptor ();
+use namespace::autoclean;
 
 requires qw/
     config
index d7c2365..213d1c7 100644 (file)
@@ -1,7 +1,6 @@
 package DynamicAppDemo::Controller::FakeExample;
 use Moose;
-use namespace::clean -except => 'meta'; # N.B. namespace clean cest tres important
-                                        #      as this package is introspected, a lot!
+use namespace::autoclean;
 
 BEGIN { extends 'DynamicAppDemo::ControllerBase' }
 
index 30d518b..674209a 100644 (file)
@@ -1,5 +1,6 @@
 package DynamicAppDemo::Controller::Root;
 use Moose;
+use namespace::autoclean;
 
 # Note - need old style actions
 # Note - do not extend general controller base class, which messes with
index 7b071d7..5075b3a 100644 (file)
@@ -1,7 +1,7 @@
 package DynamicAppDemo::ControllerBase;
 use Moose;
 use Moose::Util qw/find_meta/;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
 
 # You need attributes still for _DISPATCH and friends.
 BEGIN { extends 'Catalyst::Controller' }
index dbe0c26..58ae394 100644 (file)
@@ -1,6 +1,6 @@
 package SomeModelClass;
 use Moose;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
 
 # Note trivial calling convention.
 # Apply MX::Method::Signatures and MX::Types::Structured to be less lame.
diff --git a/t/00load_and_sane.t b/t/00load_and_sane.t
new file mode 100644 (file)
index 0000000..765ed8e
--- /dev/null
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use List::MoreUtils qw/any/;
+use Module::Find;
+setmoduledirs("$Bin/../lib");
+
+use Test::More tests => 4;
+use Test::Exception;
+
+my @modules;
+lives_ok {
+    @modules = (useall('CtaalystX'), useall('DynamicAppDemo'));
+} 'Use all';
+ok @modules;
+
+ok ! any(sub { ! $_->isa('Moose::Object') }, @modules),
+    'Moose in da hoose';
+
+ok ! any(sub { $_->can('has') }, @modules),
+    'However, no lolcat to be found';
+