diff options
Diffstat (limited to 't/freeze-thaw.t')
-rw-r--r-- | t/freeze-thaw.t | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/freeze-thaw.t b/t/freeze-thaw.t new file mode 100644 index 0000000..e52e450 --- /dev/null +++ b/t/freeze-thaw.t @@ -0,0 +1,32 @@ +use strict; +use lib -e 't' ? 't' : 'test'; +use lib 'inc'; +use Test::YAML(); +BEGIN { + @Test::YAML::EXPORT = + grep { not /^(Dump|Load)(File)?$/ } @Test::YAML::EXPORT; +} +use TestYAML tests => 9; + +use YAML qw(Dump Load freeze thaw); + +my $hash = { foo => 42, bar => 44 }; + +my $ice = freeze($hash); + +ok defined(&Dump), 'Dump exported'; +ok defined(&Load), 'Load exported'; +ok defined(&freeze), 'freeze exported'; +ok defined(&thaw), 'thaw exported'; + +like $ice, qr{bar.*foo}s, 'freeze works'; + +is $ice, Dump($hash), 'freeze produces same thing as Dump'; + +my $melt = thaw($ice); + +is_deeply $melt, Load($ice), 'thaw produces same thing as Load'; + +is_deeply $melt, $hash, 'freeze/thaw makes a clone'; + +is ref($melt), 'HASH', 'Melted object really is a hash'; |