diff options
Diffstat (limited to 't/dump-file-utf8.t')
-rw-r--r-- | t/dump-file-utf8.t | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/dump-file-utf8.t b/t/dump-file-utf8.t new file mode 100644 index 0000000..86c0c5a --- /dev/null +++ b/t/dump-file-utf8.t @@ -0,0 +1,43 @@ +use strict; +use lib -e 't' ? 't' : 'test'; +my $t = -e 't' ? 't' : 'test'; + +use utf8; +use lib 'inc'; +use Test::YAML(); +BEGIN { + @Test::YAML::EXPORT = + grep { not /^(Dump|Load)(File)?$/ } @Test::YAML::EXPORT; +} +use TestYAML tests => 6; + +use YAML qw/DumpFile LoadFile/; + +ok defined &DumpFile, + 'DumpFile exported'; + +ok defined &LoadFile, + 'LoadFile exported'; + +my $file = "$t/dump-file-utf8-$$.yaml"; + +# A scalar containing non-ASCII characters +my $data = 'Olivier Mengué'; +is length($data), 14, 'Test source is correctly encoded'; + +DumpFile($file, $data); + +ok -e $file, + 'Output file exists'; + +open IN, '<:utf8', $file or die $!; +my $yaml = do { local $/; <IN> }; +close IN; + +is $yaml, "--- $data\n", 'DumpFile YAML encoding is correct'; + + +my $read = LoadFile($file); +is $read, $data, 'LoadFile is ok'; + +unlink $file; |