Fix the way Catalyst::Plugin::Server adds custom dispatch types
[catagits/Catalyst-Runtime.git] / t / lib / TestApp / Plugin / AddDispatchTypes.pm
diff --git a/t/lib/TestApp/Plugin/AddDispatchTypes.pm b/t/lib/TestApp/Plugin/AddDispatchTypes.pm
new file mode 100644 (file)
index 0000000..b551e28
--- /dev/null
@@ -0,0 +1,24 @@
+package TestApp::Plugin::AddDispatchTypes;
+use strict;
+use warnings;
+use Class::C3;
+
+sub setup_dispatcher {
+    my $class = shift;
+
+    ### Load custom DispatchTypes, as done by Catalyst::Plugin::Server
+    $class->next::method( @_ );
+    $class->dispatcher->preload_dispatch_types(
+        @{$class->dispatcher->preload_dispatch_types},
+        qw/ +TestApp::DispatchType::CustomPreLoad /
+    );
+    $class->dispatcher->postload_dispatch_types(
+        @{$class->dispatcher->postload_dispatch_types},
+        qw/ +TestApp::DispatchType::CustomPostLoad /
+    );
+
+    return $class;
+}
+
+1;
+