Showing 4 changed files with 36 additions and 61 deletions
+2
Changes
... ...
@@ -1,3 +1,5 @@
1
+0.1676
2
+    - fixed test bug
1 3
 0.1675
2 4
     - removed DEPRECATED DBIx::Custom::MySQL and DBIx::Custom::SQLite
3 5
       these implementations remine in https://github.com/yuki-kimoto/DBIx-Custom/wiki
+1 -1
lib/DBIx/Custom.pm
... ...
@@ -1,6 +1,6 @@
1 1
 package DBIx::Custom;
2 2
 
3
-our $VERSION = '0.1675';
3
+our $VERSION = '0.1676';
4 4
 
5 5
 use 5.008001;
6 6
 use strict;
+33 -2
t/dbix-custom-mysql-private.t
... ...
@@ -34,8 +34,39 @@ my $dbname;
34 34
 my $rows;
35 35
 my $result;
36 36
 
37
-# Constant varialbes for test
38
-use DBIx::Custom::MySQL;
37
+{
38
+    package DBIx::Custom::MySQL;
39
+
40
+    use strict;
41
+    use warnings;
42
+
43
+    use base 'DBIx::Custom';
44
+
45
+    __PACKAGE__->attr([qw/database host port/]);
46
+
47
+    sub connect {
48
+        my $proto = shift;
49
+        
50
+        # Create a new object
51
+        my $self = ref $proto ? $proto : $proto->new(@_);
52
+        
53
+        # Data source
54
+        if (!$self->data_source) {
55
+            my $database = $self->database;
56
+            my $host     = $self->host;
57
+            my $port     = $self->port;
58
+            my $data_source = "dbi:mysql:";
59
+            $data_source .= "database=$database;" if $database;
60
+            $data_source .= "host=$host;"         if $host;
61
+            $data_source .= "port=$port;"         if $port;
62
+            $self->data_source($data_source);
63
+        }
64
+        
65
+        return $self->SUPER::connect;
66
+    }
67
+
68
+    1;
69
+}
39 70
 
40 71
 test 'connect';
41 72
 $dbi = DBIx::Custom::MySQL->new(user => $USER, password => $PASSWORD,
-58
t/dbix-custom-sqlite.t
... ...
@@ -1,58 +0,0 @@
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
-sub test { print "# $_[0]\n" }
18
-
19
-# Constant varialbes for test
20
-my $CREATE_TABLE = {
21
-    0 => 'create table table1 (key1 char(255), key2 char(255));',
22
-    1 => 'create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));',
23
-    2 => 'create table table2 (key1 char(255), key3 char(255));'
24
-};
25
-
26
-
27
-# Variables for tests
28
-my $dbi;
29
-my $ret_val;
30
-my $rows;
31
-my $db_file;
32
-my $id;
33
-
34
-test 'connect_memory';
35
-$dbi = DBIx::Custom::SQLite->connect_memory;
36
-$ret_val = $dbi->execute($CREATE_TABLE->{0});
37
-ok(defined $ret_val);
38
-$dbi->insert(table => 'table1', param => {key1 => 'a', key2 => 2});
39
-$rows = $dbi->select(table => 'table1', where => {key1 => 'a'})->fetch_hash_all;
40
-is_deeply($rows, [{key1 => 'a', key2 => 2}], "select rows");
41
-
42
-test 'connect';
43
-$db_file  = 't/test.db';
44
-unlink $db_file if -f $db_file;
45
-$dbi = DBIx::Custom::SQLite->new(database => $db_file);
46
-$dbi->connect;
47
-ok(-f $db_file, "database file");
48
-$ret_val = $dbi->execute($CREATE_TABLE->{0});
49
-ok(defined $ret_val, "database");
50
-$dbi->dbh->disconnect;
51
-
52
-unlink $db_file if -f $db_file;
53
-$dbi = DBIx::Custom::SQLite->connect(database => $db_file);
54
-ok($dbi, "called from class name");
55
-
56
-unlink $db_file if -f $db_file;
57
-$dbi = DBIx::Custom::SQLite->connect(data_source => "dbi:SQLite:dbname=$db_file");
58
-ok($dbi, "specified data source");