/xt/locale_data_localize.t
http://github.com/gshank/html-formhandler · Raku · 56 lines · 49 code · 7 blank · 0 comment · 1 complexity · ca52d4d37991471723ee83d6ee45e612 MD5 · raw file
- use strict;
- use warnings;
- use Test::More;
- use Test::Exception;
- use HTML::FormHandler::Field::Text;
- BEGIN {
- eval "use Data::Localize";
- if ($@) {
- plan skip_all => "Data::Localize is not installed";
- }
- }
- {
- package MyApp::Test::I18N::en_US;
- our %Lexicon = (
- 'You lost, insert coin' => 'Not won, coin needed',
- 'Test field' => 'Grfg svryq',
- );
- }
- {
- package MyApp::Test::Form;
- use HTML::FormHandler::Moose;
- extends 'HTML::FormHandler';
- sub _build_language_handle {
- my $class = Moose::Meta::Class->create_anon_class(
- superclasses => [ 'Data::Localize' ],
- methods => {
- maketext => sub { shift->localize(@_) }
- }
- );
- my $loc = $class->new_object();
- $loc->set_languages('en_US');
- $loc->add_localizer(
- class => "Namespace",
- namespaces => [ "MyApp::Test::I18N" ],
- );
- return $loc;
- }
- has_field 'foo';
- has_field 'bar';
- sub validate_foo {
- my ( $self, $field ) = @_;
- $field->add_error('You lost, insert coin');
- }
- }
- my $form = MyApp::Test::Form->new;
- ok( $form, 'form built' );
- $form->process( params => { foo => 'test' } );
- is( $form->field('foo')->errors->[0], 'Not won, coin needed', 'right message' );
- done_testing;