[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