() }
: $_
} @$plugins ];
- unshift @$plugins, $class->_default_plugins;
+ push @$plugins, $class->_default_plugins;
$plugins = Data::OptList::mkopt($plugins || []);
my @plugins = map {
--- /dev/null
+use strict;
+use warnings;
+
+use FindBin '$Bin';
+use lib "$Bin/lib";
+
+use Test::More;
+
+#for this test encoding => 'UTF-8' is set in TestAppEncodingSetInApp.pm
+use Catalyst::Test 'TestAppEncodingSetInApp';
+
+my ( undef, $c ) = ctx_request('/');
+isa_ok( $c->encoding, 'Encode::utf8', '$c->encoding' );
+
+done_testing;
--- /dev/null
+use strict;
+use warnings;
+
+use FindBin '$Bin';
+use lib "$Bin/lib";
+
+use Test::More;
+
+#for this test encoding => 'UTF-8' is set in testappencodingsetinconfig.json
+use Catalyst::Test 'TestAppEncodingSetInConfig';
+
+my ( undef, $c ) = ctx_request('/');
+isa_ok( $c->encoding, 'Encode::utf8', '$c->encoding' );
+
+done_testing;
sub setup {
my $c = shift;
$c->ran_setup('1');
+
+ return $c->next::method( @_ );
}
sub prepare {
--- /dev/null
+package TestAppEncodingSetInApp;
+use Moose;
+
+use Catalyst;
+
+extends 'Catalyst';
+
+__PACKAGE__->config(
+ encoding => 'UTF-8',
+);
+
+__PACKAGE__->setup;
+
+1;
--- /dev/null
+package TestAppEncodingSetInApp::Controller::Root;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller'; }
+
+__PACKAGE__->config(namespace => '');
+
+sub default: Local{
+ my ( $self, $c ) = @_;
+
+ $c->res->body('');
+}
+
+1;
--- /dev/null
+package TestAppEncodingSetInConfig;
+use Moose;
+
+use Catalyst qw/ConfigLoader/;
+
+extends 'Catalyst';
+
+__PACKAGE__->setup;
+
+1;
--- /dev/null
+package TestAppEncodingSetInConfig::Controller::Root;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller'; }
+
+__PACKAGE__->config(namespace => '');
+
+sub default: Local{
+ my ( $self, $c ) = @_;
+
+ $c->res->body('');
+}
+
+1;
--- /dev/null
+{
+ "encoding": "UTF-8"
+}