packaging one directory
|
1 |
use Test::More; |
2 |
use strict; |
|
3 |
use warnings; |
|
4 |
use utf8; |
|
5 | ||
6 |
BEGIN { |
|
7 |
eval { require DBD::SQLite; 1 } |
|
8 |
or plan skip_all => 'DBD::SQLite required'; |
|
9 |
eval { DBD::SQLite->VERSION >= 1.25 } |
|
10 |
or plan skip_all => 'DBD::SQLite >= 1.25 required'; |
|
11 | ||
12 |
plan 'no_plan'; |
|
13 |
use_ok('DBIx::Custom::SQLite'); |
|
14 |
} |
|
15 | ||
16 |
# Function for test name |
|
17 |
my $test; |
|
18 |
sub test { |
|
19 |
$test = shift; |
|
20 |
} |
|
21 | ||
22 |
# Constant varialbes for test |
|
23 |
my $CREATE_TABLE = { |
|
24 |
0 => 'create table table1 (key1 char(255), key2 char(255));', |
|
25 |
1 => 'create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));', |
|
26 |
2 => 'create table table2 (key1 char(255), key3 char(255));' |
|
27 |
}; |
|
28 | ||
29 | ||
30 |
# Variables for tests |
|
31 |
my $dbi; |
|
32 |
my $ret_val; |
|
33 |
my $rows; |
|
34 |
my $db_file; |
|
rename DBIx::Custom::SQLite ...
|
35 |
my $id; |
packaging one directory
|
36 | |
37 |
test 'connect_memory'; |
|
38 |
$dbi = DBIx::Custom::SQLite->new; |
|
39 |
$dbi->connect_memory; |
|
rename query() to execute()
|
40 |
$ret_val = $dbi->execute($CREATE_TABLE->{0}); |
packaging one directory
|
41 |
ok(defined $ret_val, $test); |
fix tests
|
42 |
$dbi->insert('table1', {key1 => 'a', key2 => 2}); |
refactoring select
|
43 |
$rows = $dbi->select('table1', {where => {key1 => 'a'}})->fetch_hash_all; |
fix tests
|
44 |
is_deeply($rows, [{key1 => 'a', key2 => 2}], "$test : select rows"); |
packaging one directory
|
45 | |
46 |
test 'connect_memory error'; |
|
47 |
eval{$dbi->connect_memory}; |
|
48 |
like($@, qr/Already connected/, "$test : already connected"); |
|
49 | ||
50 |
test 'reconnect_memory'; |
|
51 |
$dbi = DBIx::Custom::SQLite->new; |
|
52 |
$dbi->reconnect_memory; |
|
rename query() to execute()
|
53 |
$ret_val = $dbi->execute($CREATE_TABLE->{0}); |
packaging one directory
|
54 |
ok(defined $ret_val, "$test : connect first"); |
55 |
$dbi->reconnect_memory; |
|
rename query() to execute()
|
56 |
$ret_val = $dbi->execute($CREATE_TABLE->{2}); |
packaging one directory
|
57 |
ok(defined $ret_val, "$test : connect first"); |
58 | ||
59 |
test 'connect'; |
|
60 |
$db_file = 't/test.db'; |
|
61 |
unlink $db_file if -f $db_file; |
|
62 |
$dbi = DBIx::Custom::SQLite->new(database => $db_file); |
|
63 |
$dbi->connect; |
|
64 |
ok(-f $db_file, "$test : database file"); |
|
rename query() to execute()
|
65 |
$ret_val = $dbi->execute($CREATE_TABLE->{0}); |
packaging one directory
|
66 |
ok(defined $ret_val, "$test : database"); |
67 |
$dbi->disconnect; |
|
68 |
unlink $db_file if -f $db_file; |
|
69 | ||
rename DBIx::Custom::SQLite ...
|
70 |
test 'last_insert_rowid'; |
71 |
$dbi = DBIx::Custom::SQLite->new; |
|
72 |
$dbi->connect_memory; |
|
rename query() to execute()
|
73 |
$ret_val = $dbi->execute($CREATE_TABLE->{0}); |
rename DBIx::Custom::SQLite ...
|
74 |
$dbi->insert('table1', {key1 => 1, key2 => 2}); |
75 |
is($dbi->last_insert_rowid, 1, "$test: first"); |
|
76 |
$dbi->insert('table1', {key1 => 1, key2 => 2}); |
|
77 |
is($dbi->last_insert_rowid, 2, "$test: second"); |
|
78 |
$dbi->disconnect; |