[Catalyst-commits] r13470 - in Catalyst-Runtime/5.80/trunk: lib/Catalyst t t/lib

rbuels at dev.catalyst.perl.org rbuels at dev.catalyst.perl.org
Wed Aug 4 20:04:14 GMT 2010


Author: rbuels
Date: 2010-08-04 21:04:14 +0100 (Wed, 04 Aug 2010)
New Revision: 13470

Modified:
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Utils.pm
   Catalyst-Runtime/5.80/trunk/t/custom_exception_class_simple.t
   Catalyst-Runtime/5.80/trunk/t/lib/TestAppClassExceptionSimpleTest.pm
Log:
don't load Catalyst::Exception in Utils.pm BEGIN, because some Scripts::* load Utils before MyApp.pm, meaning that ::Exception::CATALYST_EXCEPTION_CLASS in MyApp.pm will not be respected

Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Utils.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Utils.pm	2010-08-04 15:04:27 UTC (rev 13469)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Utils.pm	2010-08-04 20:04:14 UTC (rev 13470)
@@ -1,7 +1,6 @@
 package Catalyst::Utils;
 
 use strict;
-use Catalyst::Exception;
 use File::Spec;
 use HTTP::Request;
 use Path::Class;
@@ -140,6 +139,13 @@
         eval { $tmpdir->mkpath };
 
         if ($@) {
+            # don't load Catalyst::Exception as a BEGIN in Utils,
+            # because Utils often gets loaded before MyApp.pm, and if
+            # Catalyst::Exception is loaded before MyApp.pm, it does
+            # not honor setting
+            # $Catalyst::Exception::CATALYST_EXCEPTION_CLASS in
+            # MyApp.pm
+            require Catalyst::Exception;
             Catalyst::Exception->throw(
                 message => qq/Couldn't create tmpdir '$tmpdir', "$@"/ );
         }

Modified: Catalyst-Runtime/5.80/trunk/t/custom_exception_class_simple.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/custom_exception_class_simple.t	2010-08-04 15:04:27 UTC (rev 13469)
+++ Catalyst-Runtime/5.80/trunk/t/custom_exception_class_simple.t	2010-08-04 20:04:14 UTC (rev 13470)
@@ -4,9 +4,17 @@
 use warnings;
 use FindBin qw/$Bin/;
 use lib "$Bin/lib";
-use Test::More tests => 1;
+use Test::More tests => 2;
 use Test::Exception;
 
 lives_ok {
     require TestAppClassExceptionSimpleTest;
 } 'Can load application';
+
+
+lives_ok {
+    Catalyst::Exception->throw
+} 'throw is properly stubbed out';
+
+
+

Modified: Catalyst-Runtime/5.80/trunk/t/lib/TestAppClassExceptionSimpleTest.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestAppClassExceptionSimpleTest.pm	2010-08-04 15:04:27 UTC (rev 13469)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestAppClassExceptionSimpleTest.pm	2010-08-04 20:04:14 UTC (rev 13470)
@@ -10,6 +10,8 @@
 use strict;
 use warnings;
 
+use Catalyst::Utils; #< some of the scripts use Catalyst::Utils before MyApp.pm
+
 BEGIN { $Catalyst::Exception::CATALYST_EXCEPTION_CLASS = 'TestAppClassExceptionSimpleTest::Exception'; }
 
 use Catalyst;




More information about the Catalyst-commits mailing list