use strict; use warnings; use Test::More tests => 2; use HTML::FormFu; use lib 'lib'; my $original_foo = "abc123"; my $deflated_foo = "ABC123"; my $original_bar = "abcdef"; my $deflated_bar = "ABCdef"; my $form = HTML::FormFu->new( { tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } ); $form->element({ name => 'foo', default => $original_foo, deflator => { type => 'Callback', callback => sub { return uc($_[0]) }, }, }); $form->element({ name => 'bar', default => $original_bar, deflator => { type => 'Callback', callback => 'DeflatorCallback::my_def', }, }); $form->process; like( $form->get_field('foo'), qr/\Q$deflated_foo/ ); like( $form->get_field('bar'), qr/\Q$deflated_bar/ ); { package DeflatorCallback; use strict; use warnings; sub my_def { my ($value) = @_; $value =~ tr/abc/ABC/; return $value; } }