X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fplugin_new_method_backcompat.t;fp=t%2Fplugin_new_method_backcompat.t;h=7aaef8bb6571d0bedc440e34a792349c68f043f8;hb=3d041c32e1c9ba81fabe6e85c36a9e3ec96f7287;hp=0000000000000000000000000000000000000000;hpb=8a440eba91ace539964b76901ad0e9274ece4ec6;p=catagits%2FCatalyst-Runtime.git diff --git a/t/plugin_new_method_backcompat.t b/t/plugin_new_method_backcompat.t new file mode 100644 index 0000000..7aaef8b --- /dev/null +++ b/t/plugin_new_method_backcompat.t @@ -0,0 +1,17 @@ +# Test that plugins with their own new method don't break applications. + +# 5.70 creates all of the request/response structure itself in prepare, +# and as the new method in our plugin just blesses our args, that works nicely. + +# In 5.80, we rely on the new method to appropriately initialise data +# structures, and therefore we need to inline a new method on MyApp to ensure +# that plugins don't get it wrong for us. + +# Also tests method modifiers and etc in MyApp.pm still work as expected. + +use FindBin; +use lib "$FindBin::Bin/lib";use Test::More tests => 3; + +use Catalyst::Test qw/TestAppPluginWithNewMethod/; # 1 test for adding a modifer not throwing. +ok request('/foo')->is_success; +is $TestAppPluginWithNewMethod::MODIFIER_FIRED, 1, 'Before modifier was fired correctly.';