/xt/email.t

http://github.com/gshank/html-formhandler · Raku · 49 lines · 40 code · 9 blank · 0 comment · 1 complexity · 01c888254762c89513dab94c7e325e37 MD5 · raw file

  1. use strict;
  2. use warnings;
  3. use Test::More;
  4. BEGIN
  5. {
  6. eval "use Email::Valid";
  7. plan skip_all => 'Email::Valid required' if $@;
  8. plan tests => 7;
  9. }
  10. $ENV{LANG} = 'en_us'; # in case user has LANG set
  11. my $class = 'HTML::FormHandler::Field::Email';
  12. use_ok($class);
  13. my $field = $class->new( name => 'test_field', );
  14. $field->build_result;
  15. ok( defined $field, 'new() called' );
  16. $field->_set_input('foo@bar.com');
  17. $field->validate_field;
  18. ok( !$field->has_errors, 'Test for errors 1' );
  19. is( $field->value, 'foo@bar.com', 'value returned' );
  20. $field->_set_input('foo@bar');
  21. $field->validate_field;
  22. ok( $field->has_errors, 'Test for errors 2' );
  23. is(
  24. $field->errors->[0],
  25. 'Email should be of the format someuser@example.com',
  26. 'Test error message'
  27. );
  28. $field->_set_input('someuser@example.com');
  29. $field->validate_field;
  30. ok( !$field->has_errors, 'Test for errors 3' );
  31. {
  32. package MyApp::Form::Test;
  33. use HTML::FormHandler::Moose;
  34. extends 'HTML::FormHandler';
  35. has_field 'foo';
  36. has_field 'email' => (
  37. type => 'Email',
  38. email_valid_params => { -mxcheck => 1 },
  39. );
  40. }