X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F105_io_atomic_w_utf8.t;h=83fa41cfedd1ff3ff5f5d403894aee5eecaa31c3;hb=81a84db6ebe5ec540d0035fc6d1104cc49c81e25;hp=fafc565acb94f4c94678d7f9e715fb94dec5888c;hpb=766ab81f59db9f3087e0011112ff2e69133a85c5;p=gitmo%2FMooseX-Storage.git diff --git a/t/105_io_atomic_w_utf8.t b/t/105_io_atomic_w_utf8.t index fafc565..83fa41c 100644 --- a/t/105_io_atomic_w_utf8.t +++ b/t/105_io_atomic_w_utf8.t @@ -1,27 +1,26 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More; -use Test::TempDir; +use File::Temp qw(tempdir); use File::Spec::Functions; my $dir = tempdir; -BEGIN { - eval "use IO::AtomicFile"; - plan skip_all => "IO::AtomicFile is required for this test" if $@; - eval "use JSON::Any"; - plan skip_all => "JSON::Any is required for this test" if $@; - # NOTE: - # this is because JSON::XS is +use Test::Requires { + 'JSON::Any' => 0.01, # skip all if not installed + 'IO::AtomicFile' => 0.01, +}; + +BEGIN { + # NOTE: + # this is because JSON::XS is # the only one which really gets # utf8 correct - # - SL + # - SL BEGIN { $ENV{JSON_ANY_ORDER} = qw(XS); - $ENV{JSON_ANY_CONFIG} = "utf8=1"; - } + $ENV{JSON_ANY_CONFIG} = "utf8=0,canonical=1"; + } plan tests => 8; use_ok('MooseX::Storage'); } @@ -34,7 +33,7 @@ use utf8; use MooseX::Storage; with Storage( 'format' => 'JSON', 'io' => 'AtomicFile' ); - + has 'utf8_string' => ( is => 'rw', isa => 'Str', @@ -47,16 +46,16 @@ my $file = catfile($dir, 'temp.json'); { my $foo = Foo->new; isa_ok( $foo, 'Foo' ); - - $foo->store($file); + + $foo->store($file); } { my $foo = Foo->load($file); isa_ok($foo, 'Foo'); - is($foo->utf8_string, - "ネットスーパー (Internet Shopping)", + is($foo->utf8_string, + "ネットスーパー (Internet Shopping)", '... got the string we expected'); } @@ -69,18 +68,18 @@ unlink $file; utf8_string => 'Escritório' ); isa_ok( $foo, 'Foo' ); - - $foo->store($file); + + $foo->store($file); } { my $foo = Foo->load($file); isa_ok($foo, 'Foo'); - + ok(utf8::is_utf8($foo->utf8_string), '... the string is still utf8'); - is($foo->utf8_string, - "Escritório", + is($foo->utf8_string, + "Escritório", '... got the string we expected'); }