/t/020_constraints/002_japanese.t

http://github.com/tokuhirom/formvalidator-lite · Raku · 93 lines · 81 code · 12 blank · 0 comment · 5 complexity · 72362c138121135d49552a2241d0389b MD5 · raw file

  1. use strict;
  2. use warnings;
  3. use utf8;
  4. use Test::Base;
  5. use FormValidator::Lite qw/Japanese/;
  6. use CGI;
  7. plan tests => 12;
  8. filters {
  9. query => [qw/eval/],
  10. rule => [qw/eval/],
  11. expected => [qw/eval/],
  12. };
  13. run {
  14. my $block = shift;
  15. my $q = CGI->new($block->query);
  16. my $v = FormValidator::Lite->new($q);
  17. $v->check(
  18. $block->rule
  19. );
  20. my @expected = $block->expected;
  21. while (my ($key, $val) = splice(@expected, 0, 2)) {
  22. is($v->is_error($key), $val, $block->name);
  23. }
  24. };
  25. __END__
  26. === HIRAGANA
  27. --- query: { hoge => '????????', fuga => '????', haga => 'asciii', hoga => '????? ????'}
  28. --- rule
  29. (
  30. hoge => [qw/HIRAGANA/],
  31. fuga => [qw/HIRAGANA/],
  32. hoga => [qw/HIRAGANA/],
  33. haga => [qw/HIRAGANA/],
  34. );
  35. --- expected
  36. (
  37. hoge => 0,
  38. fuga => 1,
  39. hoga => 0,
  40. haga => 1,
  41. )
  42. === KATAKANA
  43. --- query: { 'p1' => '????????', 'p2' => '????', 'p3' => '???? ? ????', p4 => 'ascii'}
  44. --- rule
  45. (
  46. p1 => [qw/KATAKANA/],
  47. p2 => [qw/KATAKANA/],
  48. p3 => [qw/KATAKANA/],
  49. p4 => [qw/KATAKANA/],
  50. );
  51. --- expected
  52. (
  53. p1 => 1,
  54. p2 => 0,
  55. p3 => 0,
  56. p4 => 1,
  57. )
  58. === JTEL
  59. --- query: { 'p1' => '666-666-6666', 'p2' => '03-5555-5555'}
  60. --- rule
  61. (
  62. p1 => [qw/JTEL/],
  63. p2 => [qw/JTEL/],
  64. );
  65. --- expected
  66. (
  67. p1 => 1,
  68. p2 => 0,
  69. )
  70. === JZIP
  71. --- query: { 'p1' => '155-0044', 'p2' => '03-5555-5555'}
  72. --- rule
  73. (
  74. p1 => [qw/JZIP/],
  75. p2 => [qw/JZIP/],
  76. );
  77. --- expected
  78. (
  79. p1 => 0,
  80. p2 => 1,
  81. )