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/string/double-quote-escape.toml"
or
die
$!;
binmode
$fh
,
':encoding(UTF-8)'
;
my
$toml
=
do
{
local
$/; <
$fh
>; };
close
$fh
;
my
$expected1
= {
"test"
=>
"\"one\""
};
my
$actual
= from_toml(
$toml
);
is(
$actual
,
$expected1
,
'string/double-quote-escape - 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
,
'string/double-quote-escape - to_toml - no errors'
)
or diag
$error
;
is(
$reparsed
,
$expected1
,
'string/double-quote-escape - 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;