use Config::Std;
use Test::More 'no_plan';

my %data = (
    'FOO' => {
        'foo1'     => 'defined',
        'foo2'     =>  undef,
    },
);

local $SIG{__WARN__} = sub {
    ok 0 => "Bad warning: @_";
};

my $output;

ok !eval{ write_config %data => \$output }    => 'Write failed as expected';

like $@, qr(\A\QCan't save undefined value for key {'FOO'}{'foo2'})
                                            => 'Failed with expected exception';
