convert test checking encoding set in config to checking encoding set by plugin
Graham Knop [Fri, 19 Jun 2020 20:11:57 +0000 (22:11 +0200)]
The issue that the test was checking was if a plugin could set the
encoding. It was using an external plugin for this, but we can trivially
include a test plugin to check the same behavior.

maint/Makefile.PL.include
t/encoding_set_in_config.t [deleted file]
t/encoding_set_in_plugin.t [new file with mode: 0644]
t/lib/TestAppEncodingSetInConfig.pm [deleted file]
t/lib/TestAppEncodingSetInConfig/testappencodingsetinconfig.json [deleted file]
t/lib/TestAppEncodingSetInPlugin.pm [new file with mode: 0644]
t/lib/TestAppEncodingSetInPlugin/Controller/Root.pm [moved from t/lib/TestAppEncodingSetInConfig/Controller/Root.pm with 63% similarity]
t/lib/TestAppEncodingSetInPlugin/SetEncoding.pm [new file with mode: 0644]

index ef141e3..04e5a26 100644 (file)
@@ -7,7 +7,6 @@ author 'Sebastian Riedel <sri@cpan.org>';
 manifest_include script => 'catalyst.pl';
 manifest_include t => 'catalyst_130pix.gif';
 manifest_include 't/conf' => 'extra.conf.in';
-manifest_include 't/lib/TestAppEncodingSetInConfig' => 'testappencodingsetinconfig.json';
 manifest_include 't/lib/TestContentNegotiation/share', 'file.txt';
 manifest_include 't/lib/TestMiddleware/share' => qr/.*/;
 manifest_include 't/lib/TestMiddlewareFromConfig/share' => qr/.*/;
diff --git a/t/encoding_set_in_config.t b/t/encoding_set_in_config.t
deleted file mode 100644 (file)
index faf860b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-use strict;
-use warnings;
-
-use FindBin '$Bin';
-use lib "$Bin/lib";
-
-use Test::More;
-
-BEGIN { eval { require Catalyst::Plugin::ConfigLoader; 1; } ||
-    plan skip_all => 'Need Catalyst::Plugin::ConfigLoader' }
-
-#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;
diff --git a/t/encoding_set_in_plugin.t b/t/encoding_set_in_plugin.t
new file mode 100644 (file)
index 0000000..56359b6
--- /dev/null
@@ -0,0 +1,15 @@
+use strict;
+use warnings;
+
+use FindBin '$Bin';
+use lib "$Bin/lib";
+
+use Test::More;
+
+#for this test encoding => 'UTF-8' is set in a plugin
+use Catalyst::Test 'TestAppEncodingSetInPlugin';
+
+my ( undef, $c ) = ctx_request('/');
+isa_ok( $c->encoding,  'Encode::utf8', '$c->encoding' );
+
+done_testing;
diff --git a/t/lib/TestAppEncodingSetInConfig.pm b/t/lib/TestAppEncodingSetInConfig.pm
deleted file mode 100644 (file)
index 7abd703..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-package TestAppEncodingSetInConfig;
-use Moose;
-
-use Catalyst qw/ConfigLoader/;
-
-extends 'Catalyst';
-
-__PACKAGE__->setup;
-
-1;
diff --git a/t/lib/TestAppEncodingSetInConfig/testappencodingsetinconfig.json b/t/lib/TestAppEncodingSetInConfig/testappencodingsetinconfig.json
deleted file mode 100644 (file)
index 2b8b413..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "encoding": "UTF-8"
-}
diff --git a/t/lib/TestAppEncodingSetInPlugin.pm b/t/lib/TestAppEncodingSetInPlugin.pm
new file mode 100644 (file)
index 0000000..49844af
--- /dev/null
@@ -0,0 +1,10 @@
+package TestAppEncodingSetInPlugin;
+use Moose;
+
+use Catalyst qw/+TestAppEncodingSetInPlugin::SetEncoding/;
+
+extends 'Catalyst';
+
+__PACKAGE__->setup;
+
+1;
@@ -1,6 +1,6 @@
-package TestAppEncodingSetInConfig::Controller::Root;
+package TestAppEncodingSetInPlugin::Controller::Root;
 use Moose;
-use namespace::clean -except => [ 'meta' ];
+use namespace::autoclean;
 
 BEGIN { extends 'Catalyst::Controller'; }
 
diff --git a/t/lib/TestAppEncodingSetInPlugin/SetEncoding.pm b/t/lib/TestAppEncodingSetInPlugin/SetEncoding.pm
new file mode 100644 (file)
index 0000000..92d3078
--- /dev/null
@@ -0,0 +1,11 @@
+package TestAppEncodingSetInPlugin::SetEncoding;
+use strict;
+use warnings;
+
+sub setup {
+    my $c = shift;
+    $c->config(encoding => 'UTF-8');
+    $c->next::method(@_);
+}
+
+1;