skip tests unless DBD::SQLite installed
[blog.pm-common-perl-mods.git] / Rose-DBx-Object-I18N / t / manager.t
blobc4e4b7a260301c3df749325fc10afcde103f76bd
1 #!/usr/bin/perl
3 use strict;
4 use warnings;
6 use Test::More;
8 eval "use DBD::SQLite";
9 plan skip_all => "DBD::SQLite is required to run this test" if $@;
11 plan 'tests' => 11;
13 use lib 't/lib';
15 use NewDB;
16 use User;
17 use User::Manager;
19 my $db = NewDB->new();
21 $db->init();
23 my $u1 = User->new(
24 name => 'foobar',
25 orig_lang => 'en',
26 signature => 'hello'
28 $u1->save();
30 my $u2 = User->new(
31 name => 'fooba',
32 orig_lang => 'ru',
33 signature => 'hallo'
35 $u2->save();
37 $ENV{ RDBO_I18N_LANG } = undef;
39 my $users = User::Manager->get_objects();
41 is( scalar @$users, 2 );
42 is( $users->[ 0 ]->i18n_is_loaded(), 0 );
44 is( $users->[ 0 ]->i18n->lang, 'en' );
45 is( $users->[ 1 ]->i18n->lang, 'ru' );
47 $ENV{ RDBO_I18N_LANG } = 'en';
49 $users = User::Manager->get_objects();
51 is( scalar @$users, 2 );
52 is( $users->[ 0 ]->i18n_is_loaded(), 1 );
54 is( $users->[ 0 ]->i18n->lang, 'en' );
55 is( $users->[ 1 ]->i18n->lang, 'en' );
57 $users = User::Manager->get_objects( i18n => 'ru' );
59 is( scalar @$users, 2 );
61 is( $users->[ 0 ]->i18n->lang, 'ru' );
62 is( $users->[ 1 ]->i18n->lang, 'ru' );
64 $_->delete( cascade => 1 ) foreach @$users;