File Coverage

File:t/store-sqlite.t
Coverage:98.5%

linestmtbrancondsubpodtimecode
1
1
1
1
126348
8
55
use strict;
2
1
1
1
9
5
37
use warnings;
3
4
1
1
1
2245
2828215
15
use Test::Most;
5
1
1
1
831799
145567
347
use Test::MockModule;
6
7
1
284129
package MockDBI {
8    sub new {
9
2
22
        return bless( {}, shift );
10    }
11    sub do {}
12    sub prepare {
13
3
30
        return shift;
14    }
15    sub execute {}
16    sub fetchrow_array {
17
1
6
        return '{"value":"things"}';
18    }
19
0
0
};
20
1
14
my $store = Test::MockModule->new('DBI');
21
1
2
48
18
$store->mock( connect => sub { return MockDBI->new } );
22
23
1
1
1
293
7
480
use constant MODULE => 'Bot::IRC::Store::SQLite';
24
25
1
1
1
1
1
14
21106
6
5
244
BEGIN { use_ok(MODULE); }
26
1
1
1
1
1
66081
17384
6
5
30
BEGIN { use_ok('Bot::IRC'); }
27
28
1
96
ok( MODULE->can('init'), 'init() method exists' );
29
30
1
867
my $plugin;
31
1
15
my $bot = Bot::IRC->new( connect => { server => 'irc.perl.org' } );
32
33
1
1
14
37
lives_ok( sub { $plugin = MODULE->new($bot) }, 'new()' );
34
1
1
618
30
lives_ok( sub { Bot::IRC::Store::SQLite::init($bot) }, 'init()' );
35
36
1
498
ok( $bot->can('store'), 'store() method exists' );
37
1
376
ok( $bot->store->can('set'), 'set() method exists' );
38
1
345
ok( $bot->store->can('get'), 'get() method exists' );
39
40
1
1
395
31
lives_ok( sub { $bot->store->set( stuff => 'things' ) }, 'set()' );
41
1
1
316
22
lives_ok( sub { $bot->store->get('stuff') }, 'get()' );
42
43
1
428
done_testing;