The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

# File automatically generated from BurntSushi/toml-test
use utf8;
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/key/case-sensitive.toml" or die $!;
binmode $fh, ':encoding(UTF-8)';
my $toml = do{ local $/; <$fh>; };
close $fh;
my $expected1 = {
"Section" => {
"M" => "latin letter M",
"name" => "different section!!",
"\x{39c}" => "greek capital letter MU",
"\x{3bc}" => "greek small letter mu"
},
"sectioN" => "NN",
"section" => {
"NAME" => "upper",
"Name" => "capitalized",
"name" => "lower"
}
};
my $actual = from_toml($toml);
is($actual, $expected1, 'key/case-sensitive - 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, 'key/case-sensitive - to_toml - no errors')
or diag $error;
is($reparsed, $expected1, 'key/case-sensitive - 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);
};
done_testing;