From: t0m Date: Fri, 24 Apr 2009 21:41:35 +0000 (+0100) Subject: Switch everything to autoclean. Add sanity tests to ensure appropriate modern perl... X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=046d763d2988f8362395352567fe7134b3c8d820;hp=d42c5c76ee9a84b4ebebcd6319fd36ddee653ef7;p=catagits%2FCatalystX-DynamicComponent.git Switch everything to autoclean. Add sanity tests to ensure appropriate modern perl policy compliance ;) --- diff --git a/lib/CatalystX/DynamicComponent.pm b/lib/CatalystX/DynamicComponent.pm index 1c0d8ad..4cf8f68 100644 --- a/lib/CatalystX/DynamicComponent.pm +++ b/lib/CatalystX/DynamicComponent.pm @@ -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) = @_; diff --git a/lib/CatalystX/ModelToControllerReflector.pm b/lib/CatalystX/ModelToControllerReflector.pm index 4e82c59..b240db1 100644 --- a/lib/CatalystX/ModelToControllerReflector.pm +++ b/lib/CatalystX/ModelToControllerReflector.pm @@ -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' } }; diff --git a/lib/CatalystX/ModelsFromConfig.pm b/lib/CatalystX/ModelsFromConfig.pm index f765c40..24ef29e 100644 --- a/lib/CatalystX/ModelsFromConfig.pm +++ b/lib/CatalystX/ModelsFromConfig.pm @@ -1,6 +1,7 @@ package CatalystX::ModelsFromConfig; use Moose::Role; use Catalyst::Model::Adaptor (); +use namespace::autoclean; requires qw/ config diff --git a/lib/DynamicAppDemo/Controller/FakeExample.pm b/lib/DynamicAppDemo/Controller/FakeExample.pm index d7c2365..213d1c7 100644 --- a/lib/DynamicAppDemo/Controller/FakeExample.pm +++ b/lib/DynamicAppDemo/Controller/FakeExample.pm @@ -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' } diff --git a/lib/DynamicAppDemo/Controller/Root.pm b/lib/DynamicAppDemo/Controller/Root.pm index 30d518b..674209a 100644 --- a/lib/DynamicAppDemo/Controller/Root.pm +++ b/lib/DynamicAppDemo/Controller/Root.pm @@ -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 diff --git a/lib/DynamicAppDemo/ControllerBase.pm b/lib/DynamicAppDemo/ControllerBase.pm index 7b071d7..5075b3a 100644 --- a/lib/DynamicAppDemo/ControllerBase.pm +++ b/lib/DynamicAppDemo/ControllerBase.pm @@ -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' } diff --git a/lib/SomeModelClass.pm b/lib/SomeModelClass.pm index dbe0c26..58ae394 100644 --- a/lib/SomeModelClass.pm +++ b/lib/SomeModelClass.pm @@ -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 index 0000000..765ed8e --- /dev/null +++ b/t/00load_and_sane.t @@ -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'; +