Locale-MO-File
view release on metacpan or search on metacpan
t/02_exceptions.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Carp qw(confess);
use English qw(-no_match_vars $OS_ERROR);
require IO::File;
use Test::More tests => 8;
use Test::NoWarnings;
use Test::Exception;
use Test::Differences;
BEGIN {
require_ok 'Locale::MO::File';
}
my $filename = '02_exceptions.mo';
throws_ok
sub {
Locale::MO::File->new->write_file;
},
qr{\QFilename not set}xms,
'write without parameters set';
my $file_handle = IO::File->new($filename, '> :raw')
or confess "Can not write $filename\n$OS_ERROR";
throws_ok
sub {
my $mo = Locale::MO::File->new;
$mo->set_file_handle($file_handle);
$mo->write_file;
},
qr{\QFilename not set}xms,
'write without filename';
throws_ok
sub {
my $mo = Locale::MO::File->new;
$mo->set_filename($filename);
$mo->set_messages([ undef ]);
$mo->write_file;
},
qr{\Qmessages[0] is not a hash reference}xms,
'message is not a hash reference';
throws_ok
sub {
my $mo = Locale::MO::File->new;
$mo->set_filename($filename);
$mo->set_messages([
{
msgstr => q{},
msgstr_plural => [],
}
]);
$mo->write_file;
},
qr{\Q'msgstr not set' callback}xms,
'msgstr and msgstr together makes no sense';
throws_ok
sub {
my $mo = Locale::MO::File->new;
$mo->set_filename($filename);
$mo->set_messages([
{
msgid => $Locale::MO::File::CONTEXT_SEPARATOR,
}
]);
( run in 2.180 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )