1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
# File automatically generated from BurntSushi/toml-test
use utf8;
use Test2::V0;
use Data::Dumper;
use Math::BigInt;
use Math::BigFloat;
use TOML::Tiny;
use constant CORE_BOOL => defined &builtin::is_bool;
local $Data::Dumper::Sortkeys = 1;
local $Data::Dumper::Useqq = 1;
binmode STDIN, ':encoding(UTF-8)';
binmode STDOUT, ':encoding(UTF-8)';
open my $fh, '<', "./t/toml-test/valid/bool/bool.toml" or die $!;
binmode $fh, ':encoding(UTF-8)';
my $toml = do{ local $/; <$fh>; };
close $fh;
my $expected1 = {
"f" => 0,
"t" => 1
};
my $actual = from_toml($toml);
is($actual, $expected1, 'bool/bool - from_toml') or do{
diag 'TOML INPUT:';
diag "$toml";
diag '';
diag 'EXPECTED:';
diag Dumper($expected1);
diag '';
diag 'ACTUAL:';
diag Dumper($actual);
};
my $regenerated = to_toml $actual;
my $reparsed = eval{ scalar from_toml $regenerated };
my $error = $@;
ok(!$error, 'bool/bool - to_toml - no errors')
or diag $error;
is($reparsed, $expected1, 'bool/bool - to_toml') or do{
diag "ERROR: $error" if $error;
diag '';
diag 'PARSED FROM TEST SOURCE TOML:';
diag Dumper($actual);
diag '';
diag 'REGENERATED TOML:';
diag $regenerated;
diag '';
diag 'REPARSED FROM REGENERATED TOML:';
diag Dumper($reparsed);
};
subtest 'builtin booleans' => sub {
plan skip_all => 'No builtin::is_bool', unless CORE_BOOL;
my $data = { t => !!1, f => !!0 };
my $toml = to_toml($data);
is $toml, $regenerated;
};
done_testing;
|