use strict;
use warnings;
use FindBin '$Bin';
use lib $Bin;
use TestYAMLTests tests => 5;
#use Devel::Peek ();
use B ();
my $data = { int => 42 };
my $flags = B::svref_2object(\$data->{int})->FLAGS;
my $string = $flags & B::SVp_POK;
my $int = $flags & B::SVp_IOK;
#diag("Flags=$flags int=$int string=$string");
cmp_ok($string, '==', 0, "Before Dump we don't have a string");
cmp_ok($int, '>=', 0, "Before Dump we have an int");
#Devel::Peek::Dump($data->{int});
# Dump shouldn't modify the original data
my $dump = Dump $data;
my $flags2 = B::svref_2object(\$data->{int})->FLAGS;
$string = $flags2 & B::SVp_POK;
$int = $flags2 & B::SVp_IOK;
#diag("Flags=$flags 2int=$int string=$string");
cmp_ok($string, '==', 0, "After Dump we still don't have a string");
cmp_ok($int, '>=', 0, "After Dump we still have an int");
cmp_ok($flags2, '==', $flags, "Flags are the same as before ($flags == $flags2)");
#Devel::Peek::Dump($data->{int});