Data-Edit-Struct
view release on metacpan or search on metacpan
#! perl
use Test2::Bundle::Extended;
use Test2::API qw[ context ];
use Ref::Util qw[ is_arrayref ];
use Data::Edit::Struct qw[ edit ];
subtest 'container' => sub {
my %defaults = (
dtype => 'container',
stype => 'container',
);
subtest 'no replacement (e.g. deletion)' => sub {
cmp_splice( %defaults, %$_ )
for ( {
input => [ 10, 20, 30, 40 ],
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
length => 2,
},
);
};
subtest 'replacement' => sub {
cmp_splice( %defaults, %$_ )
for ( {
input => [ 10, 20, 30, 40 ],
src => [ 50, 60 ],
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
src => [ 50, 60 ],
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
length => 2,
src => [ 50, 60 ],
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
length => 2,
src => [ 50, 60 ],
stype => 'element',
},
{
input => [ 10, 20, 30, 40 ],
offset => 1,
length => 2,
src => 'foo',
( run in 1.693 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )