add kill_env
[catagits/Catalyst-Controller-WrapCGI.git] / t / env.t
diff --git a/t/env.t b/t/env.t
new file mode 100644 (file)
index 0000000..5453bed
--- /dev/null
+++ b/t/env.t
@@ -0,0 +1,40 @@
+use strict;
+use warnings;
+
+use Test::More tests => 3;
+use Catalyst::Controller::WrapCGI;
+
+my $obj = Catalyst::Controller::WrapCGI->new;
+
+my $want = {%ENV};
+my $have = {%ENV};
+{
+  local $have->{MOD_PERL} = 1;
+  is_deeply(
+    $obj->_filtered_env($have),
+    $want,
+    "default: pass all except MOD_PERL",
+  );
+}
+
+{
+  local $obj->{CGI}{pass_env} = 'MOD_PERL';
+  local $have->{MOD_PERL} = 1;
+  is_deeply(
+    $obj->_filtered_env($have),
+    {},
+    "empty when all passes are killed",
+  );
+}
+
+{
+  local $obj->{CGI}{kill_env} = [];
+  local $have->{MOD_PERL} = 1;
+  local $want->{MOD_PERL} = 1;
+  is_deeply(
+    $obj->_filtered_env($have),
+    $want,
+    "explicit override for default kill",
+  );
+}
+