use strict; use Test::More tests => 4; use Data::FormValidator; use Data::FormValidator::Constraints qw(FV_eq_with); # Empty data/empty results; make sure fcn call works fine access_filtered_data_no_data: { my $results = Data::FormValidator->check( {}, {} ); my $filtered = $results->get_filtered_data(); is_deeply( $filtered, {}, 'get_filtered_data works for empty hashref' ); } # Test to make sure that we can access filtered data and that it looks right. access_filtered_data: { my $data = { 'password' => ' foo ', 'confirm' => ' foo ', }; my $expect_filtered_data = { 'password' => 'foo', 'confirm' => 'foo', }; my $profile = { 'required' => [qw( password confirm )], 'filters' => 'trim', }; my $results = Data::FormValidator->check( $data, $profile ); my $filtered = $results->get_filtered_data(); is_deeply( $filtered, $expect_filtered_data, 'get_filtered_data returns correct filtered data' ); } # RT#22589; FV_eq_with uses 'get_filtered_data()' rt22589: { my $data = { 'password' => ' foo ', 'confirm' => ' foo ', }; my $profile = { 'required' => [qw( password confirm )], 'filters' => 'trim', 'constraint_methods' => { 'confirm' => FV_eq_with('password'), }, }; my $results = Data::FormValidator->check( $data, $profile ); ok( $results->valid('password'), 'password valid' ); ok( $results->valid('confirm'), 'confirm valid' ); }