set JSON configs first before loading, so Test::Requires can skip cleanly
Karen Etheridge [Mon, 15 Jul 2013 18:12:24 +0000 (11:12 -0700)]
Changes
t/011_basic_json_w_utf8.t
t/104_io_w_utf8.t

diff --git a/Changes b/Changes
index cbdc3e2..959b82b 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for MooseX-Storage
 
+ * properly skip optional tests when the required JSON backends aren't
+   available
+
 0.34    2013-06-20
  * JSON storage works when Cpanel::JSON::XS is the only JSON backend installed
 
index a5bd3d8..7a84b40 100644 (file)
@@ -3,25 +3,22 @@ use warnings;
 
 use Test::More;
 
+# NOTE:
+# this is because JSON::XS (and Cpanel::JSON::XS) is
+# the only one which really gets utf8 correct
+# - SL
+BEGIN {
+    $ENV{JSON_ANY_ORDER}  = 'XS CPANEL';
+    $ENV{JSON_ANY_CONFIG} = "utf8=0,canonical=1";
+}
+
 use Test::Requires {
     'Encode' => 0.01, # skip all if not installed
     'JSON::Any' => 0.01,
 };
 
-BEGIN {
-    # NOTE:
-    # this is because JSON::XS (and Cpanel::JSON::XS) is
-    # the only one which really gets
-    # utf8 correct
-    # - SL
-    BEGIN {
-        $ENV{JSON_ANY_ORDER}  = 'XS CPANEL';
-        $ENV{JSON_ANY_CONFIG} = "utf8=0,canonical=1";
-    }
-
-    plan tests => 16;
-    use_ok('MooseX::Storage');
-}
+plan tests => 16;
+use_ok('MooseX::Storage');
 
 {
     package Foo;
index 77ddbb9..bc05023 100644 (file)
@@ -6,24 +6,22 @@ use File::Temp qw(tempdir);
 use File::Spec::Functions;
 my $dir = tempdir( CLEANUP => 1 );
 
+# NOTE:
+# this is because JSON::XS (and Cpanel::JSON::XS) is
+# the only one which really gets utf8 correct
+# - SL
+BEGIN {
+    $ENV{JSON_ANY_ORDER}  = 'XS CPANEL';
+    $ENV{JSON_ANY_CONFIG} = "utf8=0,canonical=1";
+}
+
 use Test::Requires {
     'JSON::Any' => 0.01, # skip all if not installed
     'IO::AtomicFile' => 0.01,
 };
 
-BEGIN {
-    # NOTE:
-    # this is because JSON::XS (and Cpanel::JSON::XS) is
-    # the only one which really gets
-    # utf8 correct
-    # - SL
-    BEGIN {
-        $ENV{JSON_ANY_ORDER}  = 'XS CPANEL';
-        $ENV{JSON_ANY_CONFIG} = "utf8=0,canonical=1";
-    }
-    plan tests => 8;
-    use_ok('MooseX::Storage');
-}
+plan tests => 8;
+use_ok('MooseX::Storage');
 
 use utf8;