From cba0b7860647e439fc49733102bf0999b13facf4 Mon Sep 17 00:00:00 2001 From: Rhesa Rozendaal Date: Fri, 24 Oct 2008 15:29:49 +0200 Subject: [PATCH] bugfix in start/error mode installation order --- t/02-subclass.t | 24 ++++++++++++++++++++++++ t/lib/MyApp2.pm | 12 ++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 t/02-subclass.t create mode 100644 t/lib/MyApp2.pm diff --git a/t/02-subclass.t b/t/02-subclass.t new file mode 100644 index 0000000..a896e44 --- /dev/null +++ b/t/02-subclass.t @@ -0,0 +1,24 @@ + +use strict; +use warnings; + +use lib 't/lib'; +use Test::More tests => 5; + +use_ok 'MyApp2'; + +# testing start mode is properly set on sub class +for(1..2){ +my $app2 = MyApp2->new; +my $out = $app2->run; +like $out, qr/sub/, "matched $_"; +} + +# same for error mode +for(1..2) { + my $app2 = MyApp2->new; + $app2->mode_param( sub{"arrest"} ); + my $out = $app2->run; + like $out, qr/oops in MyApp2/; +} + diff --git a/t/lib/MyApp2.pm b/t/lib/MyApp2.pm new file mode 100644 index 0000000..1d1dbb9 --- /dev/null +++ b/t/lib/MyApp2.pm @@ -0,0 +1,12 @@ +package MyApp2; + +use MyApp1; +use base qw/MyApp1/; +use CGI::Application::Plugin::RunmodeDeclare; + +startmode new_start { "start in subclass" } +errormode new_oops ($error) { "oops in MyApp2: $error" } +runmode arrest { die "arrest\n" } + +1; + -- 2.11.4.GIT