The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl

package T::MyBlessed;

use Moo;
use overload '""' => 'stringify';

sub stringify {":-P yuck"}

package main;

use strict;
use warnings;
use Test::More;
use Test::Exception;

my $pkg;

BEGIN {
    $pkg = 'Catmandu::Fix::vacuum';
    use_ok $pkg;
}

my $res = $pkg->new->fix(
    {
        arrays         => [],
        hashes         => {},
        strings        => '',
        nested_strings => {nested => ''},
        nested_arrays  => {arrays => []},
        nested_hashes  => {hashes => {}},
        keep_me        => {arrays => [], hashes => {foo => []}, me => 1},
        keep_me_2 => [[], [T::MyBlessed->new]],
    }
);

is_deeply $res, {keep_me => {me => 1}, keep_me_2 => [[":-P yuck"]]},
    "data is vacuumed";

done_testing;