Aniki
view release on metacpan or search on metacpan
t/filter/deflate/regex.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Test::More;
use Aniki::Filter;
subtest 'global deflator only' => sub {
my $filter = Aniki::Filter->new();
$filter->add_global_deflator(qr/foo/ => sub {
my $value = shift;
return "global_$value";
});
is $filter->deflate_row(hoge => { foo => 'foo_value' })->{foo}, 'global_foo_value';
is $filter->deflate_row(fuga => { foo => 'foo_value' })->{foo}, 'global_foo_value';
is $filter->deflate_row(hoge => { foo2 => 'foo2_value' })->{foo2}, 'global_foo2_value';
is $filter->deflate_row(fuga => { foo2 => 'foo2_value' })->{foo2}, 'global_foo2_value';
is $filter->deflate_row(hoge => { bar => 'bar_value' })->{bar}, 'bar_value';
is $filter->deflate_row(fuga => { bar => 'bar_value' })->{bar}, 'bar_value';
};
subtest 'table deflator only' => sub {
my $filter = Aniki::Filter->new();
$filter->add_table_deflator(hoge => qr/foo/ => sub {
my $value = shift;
return "hoge_$value";
});
is $filter->deflate_row(hoge => { foo => 'foo_value' })->{foo}, 'hoge_foo_value';
is $filter->deflate_row(fuga => { foo => 'foo_value' })->{foo}, 'foo_value';
is $filter->deflate_row(hoge => { foo2 => 'foo2_value' })->{foo2}, 'hoge_foo2_value';
is $filter->deflate_row(fuga => { foo2 => 'foo2_value' })->{foo2}, 'foo2_value';
is $filter->deflate_row(hoge => { bar => 'bar_value' })->{bar}, 'bar_value';
is $filter->deflate_row(fuga => { bar => 'bar_value' })->{bar}, 'bar_value';
};
subtest 'table and global deflator' => sub {
my $filter = Aniki::Filter->new();
$filter->add_global_deflator(qr/foo/ => sub {
my $value = shift;
return "global_$value";
});
$filter->add_table_deflator(hoge => qr/foo/ => sub {
my $value = shift;
return "hoge_$value";
});
is $filter->deflate_row(hoge => { foo => 'foo_value' })->{foo}, 'hoge_foo_value';
is $filter->deflate_row(fuga => { foo => 'foo_value' })->{foo}, 'global_foo_value';
is $filter->deflate_row(hoge => { foo2 => 'foo2_value' })->{foo2}, 'hoge_foo2_value';
is $filter->deflate_row(fuga => { foo2 => 'foo2_value' })->{foo2}, 'global_foo2_value';
is $filter->deflate_row(hoge => { bar => 'bar_value' })->{bar}, 'bar_value';
is $filter->deflate_row(fuga => { bar => 'bar_value' })->{bar}, 'bar_value';
};
done_testing();
( run in 1.198 second using v1.01-cache-2.11-cpan-f56aa216473 )