package tests::ParamTest;
use strict;
use Lire::Param;
use base qw/Lire::Test::TestCase tests::TestStoreFixture/;
sub new {
my $self = shift()->SUPER::new( @_ );
$self->init();
$self->init_i18n();
return $self;
}
sub set_up {
my $self = shift->SUPER::set_up();
$self->set_up_locale();
$self->set_up_test_schema();
my $param = new Lire::Param( 'i18n_domain' => 'lire-test',
'name' => 'whatever',
'type' => 'string',
'description' => '<para>JPEG Files</para>' );
$self->{'param'} = $param;
return $self;
}
sub tear_down {
my $self = shift->SUPER::tear_down();
$self->tear_down_locale();
return $self;
}
sub test_description_i18n {
my $self = $_[0];
my $param = $self->{'param'};
$self->assert_str_equals( '<para>JPEG Files</para>',
$param->description() );
$self->set_locale( 'fr_CA.iso8859-1' );
$self->assert_str_equals( '<para>Fichiers JPEG</para>',
$param->description() );
}
sub test_as_type_spec {
my $self = $_[0];
my $param = $self->{'param'};
$param->{'default'} = 'A file';
my $spec = $param->as_type_spec();
$self->assert_isa( 'Lire::Config::StringSpec', $spec );
$self->assert_str_equals( 'whatever', $spec->name() );
$self->assert_str_equals( 'whatever', $spec->summary() );
$self->assert_str_equals( '<para>JPEG Files</para>',
$spec->description() );
$self->assert_str_equals( 'lire-test', $spec->{'i18n_domain'} );
$self->assert_isa( 'Lire::Config::Scalar', $spec->default() );
$self->assert_str_equals( 'A file', $spec->default()->as_value() );
$param->{'default'} = undef;
$param->{'type'} = 'int';
$self->assert_isa( 'Lire::Config::IntegerSpec', $param->as_type_spec() );
$param->{'type'} = 'filename';
$self->assert_isa( 'Lire::Config::FileSpec', $param->as_type_spec() );
$param->{'type'} = 'bool';
$self->assert_isa( 'Lire::Config::BooleanSpec', $param->as_type_spec() );
}
1;
syntax highlighted by Code2HTML, v. 0.9.1