diff --git a/Changes b/Changes index f10c205..24c80c6 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,7 @@ Revision history for Mojolicious-Plugin-Form. {{$NEXT}} + - improve coverage 0.006 2015-04-07 16:30:03 CEST - add badges in pod diff --git a/cpanfile b/cpanfile index 557fc06..a49a058 100644 --- a/cpanfile +++ b/cpanfile @@ -6,4 +6,5 @@ requires 'Mojolicious', '4.0'; on test => sub { requires 'Test::More', '0.88'; + requires 'Test::Carp', '0'; }; diff --git a/lib/Mojolicious/Plugin/Form.pm b/lib/Mojolicious/Plugin/Form.pm index f9ec9a7..8b74761 100755 --- a/lib/Mojolicious/Plugin/Form.pm +++ b/lib/Mojolicious/Plugin/Form.pm @@ -22,8 +22,7 @@ sub register { my $namespace = ref($self->app) . '::Form::'; $namespace = '' if $namespace =~ m/^Mojolicious::Lite/; - $class_name = join '' => $namespace, - Mojo::ByteStream->new($class_name)->camelize; + $class_name = Mojo::ByteStream->new($class_name)->camelize; } $class_name = $namespace . $class_name; @@ -36,9 +35,6 @@ sub register { Carp::croak qq/Can't find form '$class_name'/ if $e; - #Carp::croak qq/Wrong form '$class_name' isa /.ref($self->app) . '::Form' - # unless $class_name->isa(ref($self->app) . '::Form'); - return $class_name->new(%$conf, @_); } ); diff --git a/t/01_app_base.t b/t/01_app_base.t index 1a2c8c2..5bb162f 100644 --- a/t/01_app_base.t +++ b/t/01_app_base.t @@ -9,6 +9,8 @@ use Data::Dumper; use Test::More; END { done_testing(); } +use Test::Carp; + use Test::Mojo; use_ok('MyApp'); @@ -29,6 +31,23 @@ my $source = $sources[0]; ok($source, 'MyApp source'); -my $table = $schema->class($source)->table; +#my $table = $schema->class($source)->table; + +ok($schema->class($source)->table, 'MyApp table'); + +#my $form_handler = $t->app->form_handler('Foo'); + +ok($t->app->form_handler('Foo'), 'MyApp form_handler'); + +ok($t->app->form_handler('Foo',{a => 1}), 'MyApp form_handler with params'); + +ok($t->app->form_handler('foo'), 'MyApp form_handler lowercase'); + +does_croak( sub { $t->app->form_handler('Blah') } ); + +#does_croak( sub { $t->app->form_handler('Defect') } ); + +does_croak( sub { $t->app->form_handler() } ); + + -ok($table, 'MyApp table'); diff --git a/t/lib/MyApp.pm b/t/lib/MyApp.pm index 361bb45..4f5ef91 100644 --- a/t/lib/MyApp.pm +++ b/t/lib/MyApp.pm @@ -43,18 +43,32 @@ sub class { return $self->entries->{$source}; }; -package MySchema::Class; -use Mojo::Base -base; +package MySchema::Class { + use Mojo::Base -base; + + has 'table'; + 1; +} + +package MyApp::Form { + use Mojo::Base 'Mojolicious::Plugin::Form::Base'; + 1; +} -has 'table'; +package MyApp::Form::Foo { + use Mojo::Base 'MyApp::Form'; + 1; +} -package MyApp::Form; -use Mojo::Base 'Mojolicious::Plugin::Form::Base'; +package MyApp::Form::Bar { + use Mojo::Base 'MyApp::Form'; + 1; +} -package MyApp::Form::Foo; -use Mojo::Base 'MyApp::Form'; +package MyApp::Form::Defect { + use Mojo::Base 'MyApp::Form'; -package MyApp::Form::Bar; -use Mojo::Base 'MyApp::Form'; + 0; # TODO +} 1;