X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper.pm;h=eacfb69aa45507b1f1cd502605786fa234eca2a2;hb=4d88618969117a90f2f34ae5481ba06d7b405061;hp=acc818bd92f6f90849fac9533dab58c292feefd7;hpb=cf06ea6149c5408ed193604d0d0ead5194892353;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Helper.pm b/lib/Catalyst/Helper.pm index acc818b..eacfb69 100644 --- a/lib/Catalyst/Helper.pm +++ b/lib/Catalyst/Helper.pm @@ -501,7 +501,7 @@ So when you call C, create would try to execute Catalyst::Helper::View::TT->mk_compclass and Catalyst::Helper::View::TT->mk_comptest. -See L and L for +See L and L for examples. All helper classes should be under one of the following namespaces. @@ -544,14 +544,21 @@ use warnings; # Set flags and add plugins for the application # # -Debug: activates the debug mode for very useful log messages +# ConfigLoader: will load the configuration from a YAML file in the +# application's home directory # Static::Simple: will serve static files from the application's root -# directory +# directory # use Catalyst qw/-Debug ConfigLoader Static::Simple/; our $VERSION = '0.01'; # +# Configure the application +# +__PACKAGE__->config( name => '[% name %]' ); + +# # Start the application # __PACKAGE__->setup; @@ -992,16 +999,18 @@ use Pod::Usage; use Catalyst::Helper; my $force = 0; +my $mech = 0; my $help = 0; GetOptions( - 'nonew|force' => \$force, - 'help|?' => \$help + 'nonew|force' => \$force, + 'mech|mechanize' => \$mech, + 'help|?' => \$help ); pod2usage(1) if ( $help || !$ARGV[0] ); -my $helper = Catalyst::Helper->new( { '.newfiles' => !$force } ); +my $helper = Catalyst::Helper->new( { '.newfiles' => !$force, mech => $mech } ); pod2usage(1) unless $helper->mk_component( '[% name %]', @ARGV ); @@ -1016,17 +1025,19 @@ pod2usage(1) unless $helper->mk_component( '[% name %]', @ARGV ); [% appprefix %]_create.pl [options] model|view|controller name [helper] [options] Options: - -force don't create a .new file where a file to be created exists - -help display this help and exits + -force don't create a .new file where a file to be created exists + -mechanize use Test::WWW::Mechanize::Catalyst for tests if available + -help display this help and exits Examples: [% appprefix %]_create.pl controller My::Controller + [% appprefix %]_create.pl -mechanize controller My::Controller [% appprefix %]_create.pl view My::View [% appprefix %]_create.pl view MyView TT [% appprefix %]_create.pl view TT TT [% appprefix %]_create.pl model My::Model - [% appprefix %]_create.pl model SomeDB CDBI dbi:SQLite:/tmp/my.db - [% appprefix %]_create.pl model AnotherDB CDBI dbi:Pg:dbname=foo root 4321 + [% appprefix %]_create.pl model SomeDB DBIC::SchemaLoader dbi:SQLite:/tmp/my.db + [% appprefix %]_create.pl model AnotherDB DBIC::SchemaLoader dbi:Pg:dbname=foo root 4321 See also: perldoc Catalyst::Manual @@ -1105,12 +1116,23 @@ it under the same terms as Perl itself. __comptest__ use strict; use warnings; -[% IF long_type == 'Controller' %]use Test::More tests => 3; +[% IF long_type == 'Controller' %][% IF mech %]use Test::More; + +eval "use Test::WWW::Mechanize::Catalyst '[% app %]'"; +plan $@ + ? ( skip_all => 'Test::WWW::Mechanize::Catalyst required' ) + : ( tests => 2 ); + +ok( my $mech = Test::WWW::Mechanize::Catalyst->new, 'Created mech object' ); + +$mech->get_ok( 'http://localhost[% uri %]' ); +[% ELSE %]use Test::More tests => 3; BEGIN { use_ok 'Catalyst::Test', '[% app %]' } BEGIN { use_ok '[% class %]' } ok( request('[% uri %]')->is_success, 'Request should succeed' ); +[% END %] [% ELSE %]use Test::More tests => 1; BEGIN { use_ok '[% class %]' }