Showing 15 changed files with 257 additions and 386 deletions
+5 -4
lib/DBIx/Custom.pm
... ...
@@ -20,8 +20,7 @@ __PACKAGE__->attr(
20 20
     [qw/data_source dbh password user/],
21 21
     cache => 1,
22 22
     dbi_option => sub { {} },
23
-    filter_check  => 1,
24
-    query_builder => sub {DBIx::Custom::QueryBuilder->new},
23
+    query_builder => sub { DBIx::Custom::QueryBuilder->new },
25 24
     result_class  => 'DBIx::Custom::Result',
26 25
     table_class   => 'DBIx::Custom::Table'
27 26
 );
... ...
@@ -732,8 +731,10 @@ sub _croak {
732 731
 }
733 732
 
734 733
 # DEPRECATED!
735
-
736
-__PACKAGE__->attr(dbi_options => sub { {} });
734
+__PACKAGE__->attr(
735
+    dbi_options => sub { {} },
736
+    filter_check  => 1
737
+);
737 738
 
738 739
 sub default_bind_filter {
739 740
     my $self = shift;
+6 -10
lib/DBIx/Custom/Query.pm
... ...
@@ -5,7 +5,10 @@ use warnings;
5 5
 
6 6
 use base 'Object::Simple';
7 7
 
8
-__PACKAGE__->attr([qw/columns default_filter filter sql sth/]);
8
+__PACKAGE__->attr([qw/columns filter sql sth/]);
9
+
10
+# DEPRECATED!
11
+__PACKAGE__->attr('default_filter');
9 12
 
10 13
 1;
11 14
 
... ...
@@ -26,18 +29,11 @@ DBIx::Custom::Query - Query
26 29
 
27 30
 Column names.
28 31
 
29
-=head2 C<default_filter>
30
-
31
-    my $default_filter = $query->default_filter;
32
-    $query             = $query->default_filter('encode_utf8');
33
-
34
-Default filter when parameter binding is executed.
35
-
36 32
 =head2 C<filter>
37 33
 
38 34
     my $filter = $query->filter;
39
-    $query     = $query->filter({author => 'encode_utf8',
40
-                                 title  => 'encode_utf8'});
35
+    $query     = $query->filter({author => 'to_something',
36
+                                 title  => 'to_something'});
41 37
 
42 38
 Filters when parameter binding is executed.
43 39
 This overwrites C<default_filter>.
+12 -12
lib/DBIx/Custom/QueryBuilder.pm
... ...
@@ -7,7 +7,7 @@ use base 'Object::Simple';
7 7
 
8 8
 use Carp 'croak';
9 9
 use DBIx::Custom::Query;
10
-use DBIx::Custom::QueryBuilder::TagProcessors;
10
+use DBIx::Custom::TagProcessor;
11 11
 
12 12
 # Carp trust relationship
13 13
 push @DBIx::Custom::CARP_NOT, __PACKAGE__;
... ...
@@ -17,17 +17,17 @@ push @DBIx::Custom::Where::CARP_NOT, __PACKAGE__;
17 17
 # Attributes
18 18
 __PACKAGE__->attr('tag_processors' => sub {
19 19
     {
20
-        '?'     => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_placeholder_tag,
21
-        '='     => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_equal_tag,
22
-        '<>'    => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_not_equal_tag,
23
-        '>'     => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_greater_than_tag,
24
-        '<'     => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_lower_than_tag,
25
-        '>='    => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_greater_than_equal_tag,
26
-        '<='    => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_lower_than_equal_tag,
27
-        'like'  => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_like_tag,
28
-        'in'    => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_in_tag,
29
-        'insert_param' => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_insert_param_tag,
30
-        'update_param' => \&DBIx::Custom::QueryBuilder::TagProcessors::expand_update_param_tag
20
+        '?'     => \&DBIx::Custom::TagProcessor::expand_placeholder_tag,
21
+        '='     => \&DBIx::Custom::TagProcessor::expand_equal_tag,
22
+        '<>'    => \&DBIx::Custom::TagProcessor::expand_not_equal_tag,
23
+        '>'     => \&DBIx::Custom::TagProcessor::expand_greater_than_tag,
24
+        '<'     => \&DBIx::Custom::TagProcessor::expand_lower_than_tag,
25
+        '>='    => \&DBIx::Custom::TagProcessor::expand_greater_than_equal_tag,
26
+        '<='    => \&DBIx::Custom::TagProcessor::expand_lower_than_equal_tag,
27
+        'like'  => \&DBIx::Custom::TagProcessor::expand_like_tag,
28
+        'in'    => \&DBIx::Custom::TagProcessor::expand_in_tag,
29
+        'insert_param' => \&DBIx::Custom::TagProcessor::expand_insert_param_tag,
30
+        'update_param' => \&DBIx::Custom::TagProcessor::expand_update_param_tag
31 31
     }
32 32
 });
33 33
 
-179
lib/DBIx/Custom/QueryBuilder/TagProcessors.pm
... ...
@@ -1,179 +0,0 @@
1
-package DBIx::Custom::QueryBuilder::TagProcessors;
2
-
3
-use strict;
4
-use warnings;
5
-
6
-use Carp 'croak';
7
-
8
-# Carp trust relationship
9
-push @DBIx::Custom::QueryBuilder::CARP_NOT, __PACKAGE__;
10
-
11
-sub expand_equal_tag              { _expand_basic_tag('=',    @_) }
12
-sub expand_greater_than_equal_tag { _expand_basic_tag('>=',   @_) }
13
-sub expand_greater_than_tag       { _expand_basic_tag('>',    @_) }
14
-
15
-sub expand_in_tag {
16
-    my ($column, $count) = @_;
17
-    
18
-    # Check arguments
19
-    croak qq{Column name and count of values must be specified in tag "{in }"}
20
-      unless $column && $count && $count =~ /^\d+$/;
21
-
22
-    # Part of statement
23
-    my $s = "$column in (";
24
-    for (my $i = 0; $i < $count; $i++) {
25
-        $s .= '?, ';
26
-    }
27
-    $s =~ s/, $//;
28
-    $s .= ')';
29
-    
30
-    # Columns
31
-    my $columns = [];
32
-    push @$columns, $column for (0 .. $count - 1);
33
-    
34
-    return [$s, $columns];
35
-}
36
-
37
-sub expand_insert_param_tag {
38
-    my @columns = @_;
39
-    
40
-    # Insert parameters
41
-    my $s = '(';
42
-    $s .= "$_, " for @columns;
43
-    $s =~ s/, $//;
44
-    $s .= ') ';
45
-    $s .= 'values (';
46
-    $s .= "?, " for @columns;
47
-    $s =~ s/, $//;
48
-    $s .= ')';
49
-    
50
-    return [$s, \@columns];
51
-}
52
-
53
-sub expand_like_tag               { _expand_basic_tag('like', @_) }
54
-sub expand_lower_than_equal_tag   { _expand_basic_tag('<=',   @_) }
55
-sub expand_lower_than_tag         { _expand_basic_tag('<',    @_) }
56
-sub expand_not_equal_tag          { _expand_basic_tag('<>',   @_) }
57
-
58
-sub expand_placeholder_tag {
59
-    my $column = shift;
60
-    
61
-    # Check arguments
62
-    croak qq{Column name must be specified in tag "{? }"}
63
-      unless $column;
64
-    
65
-    return ['?', [$column]];
66
-}
67
-
68
-sub expand_update_param_tag {
69
-    my @columns = @_;
70
-    
71
-    # Update paramters
72
-    my $s = 'set ';
73
-    $s .= "$_ = ?, " for @columns;
74
-    $s =~ s/, $//;
75
-    
76
-    return [$s, \@columns];
77
-}
78
-
79
-sub _expand_basic_tag {
80
-    my ($name, $column) = @_;
81
-    
82
-    # Check arguments
83
-    croak qq{Column name must be specified in tag "{$name }"}
84
-      unless $column;
85
-    
86
-    return ["$column $name ?", [$column]];
87
-}
88
-
89
-1;
90
-
91
-=head1 NAME
92
-
93
-DBIx::Custom::QueryBuilder::TagProcessors - Tag processors
94
-
95
-=head1 SYNOPSYS
96
-
97
-    my $expanded = expand_equal_tag($source);
98
-    my $expanded = expand_greater_than_equal_tag($source);
99
-    my $expanded = expand_greater_than_tag($source);
100
-    my $expanded = expand_like_tag($source);
101
-    my $expanded = expand_lower_than_equal_tag($source);
102
-    my $expanded = expand_lower_than_tag($source);
103
-    my $expanded = expand_in_tag($source);
104
-    my $expanded = expand_insert_param_tag($source);
105
-    my $expanded = expand_not_equal_tag($source);
106
-    my $expanded = expand_placeholder_tag($source);
107
-    my $expanded = expand_update_param_tag($source);
108
-
109
-=head1 TAG PROCESSORS
110
-
111
-Tag processor is function,
112
-which receive arguments and return a part of SQL statment
113
-and column names.
114
-The part of SQL statment contains placeholders.
115
-the count of placeholders must be
116
-same as the count of column names.
117
-
118
-    sub processor_name {
119
-        my @args = @_;
120
-        
121
-        # Part of statment, which constains placeholders
122
-        my $s;
123
-        
124
-        # Column names
125
-        my $columns = [];
126
-        
127
-        # Do something
128
-        # ...
129
-        
130
-        return [$s, $columns];
131
-    }
132
-
133
-=head2 C<expand_equal_tag>
134
-
135
-    ('NAME')  ->  ['NAME = ?', ['NAME']]
136
-
137
-=head2 C<expand_greater_than_equal_tag>
138
-
139
-    ('NAME')  ->  ['NAME >= ?', ['NAME']]
140
-
141
-=head2 C<expand_greater_than_tag>
142
-
143
-    ('NAME')  ->  ['NAME > ?', ['NAME']]
144
-
145
-=head2 C<expand_like_tag>
146
-
147
-    ('NAME')  ->  ['NAME like ?', ['NAME']]
148
-
149
-=head2 C<expand_lower_than_equal_tag>
150
-
151
-    ('NAME')  ->  ['NAME <= ?', ['NAME']]
152
-
153
-=head2 C<expand_lower_than_tag>
154
-
155
-    ('NAME')  ->  ['NAME < ?', ['NAME']]
156
-
157
-=head2 C<expand_in_tag>
158
-
159
-    ('NAME', 3)  -> ['NAME in (?, ?, ?)', ['NAME', 'NAME', 'NAME']]
160
-
161
-=head2 C<expand_insert_param_tag>
162
-
163
-    ('NAME1', 'NAME2')
164
-      ->  ['(NAME1, NAME2) values (?, ?, ?)', ['NAME1', 'NAME2']]
165
-
166
-=head2 C<expand_not_equal_tag>
167
-
168
-    ('NAME')  ->  ['NAME <> ?', ['NAME']]
169
-
170
-=head2 C<expand_placeholder_tag>
171
-
172
-    ('NAME')  ->  ['?', ['NAME']]
173
-
174
-=head2 C<expand_update_param_tag>
175
-
176
-    ('NAME1', 'NAME2')
177
-      ->  ['set NAME1 = ?, NAME2 = ?', ['NAME1', 'NAME2']]
178
-
179
-=cut
+4 -8
lib/DBIx/Custom/Result.pm
... ...
@@ -7,7 +7,7 @@ use base 'Object::Simple';
7 7
 
8 8
 use Carp 'croak';
9 9
 
10
-__PACKAGE__->attr([qw/filter_check filters sth/]);
10
+__PACKAGE__->attr([qw/filters sth/]);
11 11
 
12 12
 sub filter {
13 13
     my $self = shift;
... ...
@@ -239,6 +239,9 @@ sub default_filter {
239 239
     return $self->{default_filter};
240 240
 }
241 241
 
242
+# DEPRECATED!
243
+__PACKAGE__->attr('filter_check'); 
244
+
242 245
 1;
243 246
 
244 247
 =head1 NAME
... ...
@@ -311,13 +314,6 @@ This overwrites C<default_filter>.
311 314
 
312 315
 Resistered filters.
313 316
 
314
-=head2 C<filter_check>
315
-
316
-    my $filter_check = $result->filter_check;
317
-    $result          = $result->filter_check;
318
-
319
-Enable filter validation.
320
-
321 317
 =head2 C<sth>
322 318
 
323 319
     my $sth = $reuslt->sth
+1 -1
lib/DBIx/Custom/Table.pm
... ...
@@ -10,7 +10,7 @@ use Carp 'croak';
10 10
 # Carp trust relationship
11 11
 push @DBIx::Custom::CARP_NOT, __PACKAGE__;
12 12
 
13
-__PACKAGE__->attr(['dbi', 'name', 'model']);
13
+__PACKAGE__->attr(['dbi', 'name']);
14 14
 
15 15
 our $AUTOLOAD;
16 16
 
+94
lib/DBIx/Custom/TagProcessor.pm
... ...
@@ -0,0 +1,94 @@
1
+package DBIx::Custom::TagProcessor;
2
+
3
+use strict;
4
+use warnings;
5
+
6
+use Carp 'croak';
7
+
8
+# Carp trust relationship
9
+push @DBIx::Custom::QueryBuilder::CARP_NOT, __PACKAGE__;
10
+
11
+sub expand_equal_tag              { _expand_basic_tag('=',    @_) }
12
+sub expand_greater_than_equal_tag { _expand_basic_tag('>=',   @_) }
13
+sub expand_greater_than_tag       { _expand_basic_tag('>',    @_) }
14
+
15
+sub expand_in_tag {
16
+    my ($column, $count) = @_;
17
+    
18
+    # Check arguments
19
+    croak qq{Column name and count of values must be specified in tag "{in }"}
20
+      unless $column && $count && $count =~ /^\d+$/;
21
+
22
+    # Part of statement
23
+    my $s = "$column in (";
24
+    for (my $i = 0; $i < $count; $i++) {
25
+        $s .= '?, ';
26
+    }
27
+    $s =~ s/, $//;
28
+    $s .= ')';
29
+    
30
+    # Columns
31
+    my $columns = [];
32
+    push @$columns, $column for (0 .. $count - 1);
33
+    
34
+    return [$s, $columns];
35
+}
36
+
37
+sub expand_insert_param_tag {
38
+    my @columns = @_;
39
+    
40
+    # Insert parameters
41
+    my $s = '(';
42
+    $s .= "$_, " for @columns;
43
+    $s =~ s/, $//;
44
+    $s .= ') ';
45
+    $s .= 'values (';
46
+    $s .= "?, " for @columns;
47
+    $s =~ s/, $//;
48
+    $s .= ')';
49
+    
50
+    return [$s, \@columns];
51
+}
52
+
53
+sub expand_like_tag               { _expand_basic_tag('like', @_) }
54
+sub expand_lower_than_equal_tag   { _expand_basic_tag('<=',   @_) }
55
+sub expand_lower_than_tag         { _expand_basic_tag('<',    @_) }
56
+sub expand_not_equal_tag          { _expand_basic_tag('<>',   @_) }
57
+
58
+sub expand_placeholder_tag {
59
+    my $column = shift;
60
+    
61
+    # Check arguments
62
+    croak qq{Column name must be specified in tag "{? }"}
63
+      unless $column;
64
+    
65
+    return ['?', [$column]];
66
+}
67
+
68
+sub expand_update_param_tag {
69
+    my @columns = @_;
70
+    
71
+    # Update paramters
72
+    my $s = 'set ';
73
+    $s .= "$_ = ?, " for @columns;
74
+    $s =~ s/, $//;
75
+    
76
+    return [$s, \@columns];
77
+}
78
+
79
+sub _expand_basic_tag {
80
+    my ($name, $column) = @_;
81
+    
82
+    # Check arguments
83
+    croak qq{Column name must be specified in tag "{$name }"}
84
+      unless $column;
85
+    
86
+    return ["$column $name ?", [$column]];
87
+}
88
+
89
+1;
90
+
91
+=head1 NAME
92
+
93
+DBIx::Custom::TagProcessor - Tag processor
94
+
+84 -87
t/dbix-custom-core-sqlite.t
... ...
@@ -16,10 +16,7 @@ BEGIN {
16 16
 }
17 17
 
18 18
 # Function for test name
19
-my $test;
20
-sub test {
21
-    $test = shift;
22
-}
19
+sub test { "# $_[0]\n" }
23 20
 
24 21
 # Constant varialbes for test
25 22
 my $CREATE_TABLE = {
... ...
@@ -80,22 +77,22 @@ $result = $dbi->execute($query);
80 77
 while (my $row = $result->fetch) {
81 78
     push @rows, [@$row];
82 79
 }
83
-is_deeply(\@rows, [[1, 2], [3, 4]], "$test : fetch");
80
+is_deeply(\@rows, [[1, 2], [3, 4]], "fetch");
84 81
 
85 82
 $result = $dbi->execute($query);
86 83
 @rows = ();
87 84
 while (my $row = $result->fetch_hash) {
88 85
     push @rows, {%$row};
89 86
 }
90
-is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : fetch_hash");
87
+is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "fetch_hash");
91 88
 
92 89
 $result = $dbi->execute($query);
93 90
 $rows = $result->fetch_all;
94
-is_deeply($rows, [[1, 2], [3, 4]], "$test : fetch_all");
91
+is_deeply($rows, [[1, 2], [3, 4]], "fetch_all");
95 92
 
96 93
 $result = $dbi->execute($query);
97 94
 $rows = $result->fetch_hash_all;
98
-is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : fetch_hash_all");
95
+is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "fetch_hash_all");
99 96
 
100 97
 test 'Insert query return value';
101 98
 $dbi->execute($DROP_TABLE->{0});
... ...
@@ -103,7 +100,7 @@ $dbi->execute($CREATE_TABLE->{0});
103 100
 $source = "insert into table1 {insert_param key1 key2}";
104 101
 $query = $dbi->create_query($source);
105 102
 $ret_val = $dbi->execute($query, param => {key1 => 1, key2 => 2});
106
-ok($ret_val, $test);
103
+ok($ret_val);
107 104
 
108 105
 
109 106
 test 'Direct query';
... ...
@@ -113,7 +110,7 @@ $insert_SOURCE = "insert into table1 {insert_param key1 key2}";
113 110
 $dbi->execute($insert_SOURCE, param => {key1 => 1, key2 => 2});
114 111
 $result = $dbi->execute($SELECT_SOURCES->{0});
115 112
 $rows = $result->fetch_hash_all;
116
-is_deeply($rows, [{key1 => 1, key2 => 2}], $test);
113
+is_deeply($rows, [{key1 => 1, key2 => 2}]);
117 114
 
118 115
 test 'Filter basic';
119 116
 $dbi->execute($DROP_TABLE->{0});
... ...
@@ -127,7 +124,7 @@ $insert_query->filter({key1 => 'twice'});
127 124
 $dbi->execute($insert_query, param => {key1 => 1, key2 => 2});
128 125
 $result = $dbi->execute($SELECT_SOURCES->{0});
129 126
 $rows = $result->filter({key2 => 'three_times'})->fetch_hash_all;
130
-is_deeply($rows, [{key1 => 2, key2 => 6}], "$test : filter fetch_filter");
127
+is_deeply($rows, [{key1 => 2, key2 => 6}], "filter fetch_filter");
131 128
 $dbi->execute($DROP_TABLE->{0});
132 129
 
133 130
 test 'Filter in';
... ...
@@ -140,7 +137,7 @@ $select_query = $dbi->create_query($select_SOURCE);
140 137
 $select_query->filter({'table1.key1' => 'twice'});
141 138
 $result = $dbi->execute($select_query, param => {'table1.key1' => [1,5], 'table1.key2' => [2,4]});
142 139
 $rows = $result->fetch_hash_all;
143
-is_deeply($rows, [{key1 => 2, key2 => 4}], "$test : filter");
140
+is_deeply($rows, [{key1 => 2, key2 => 4}], "filter");
144 141
 
145 142
 test 'DBIx::Custom::SQLTemplate basic tag';
146 143
 $dbi->execute($DROP_TABLE->{0});
... ...
@@ -152,13 +149,13 @@ $source = "select * from table1 where {= key1} and {<> key2} and {< key3} and {>
152 149
 $query = $dbi->create_query($source);
153 150
 $result = $dbi->execute($query, param => {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
154 151
 $rows = $result->fetch_hash_all;
155
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic tag1");
152
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag1");
156 153
 
157 154
 $source = "select * from table1 where {<= key1} and {like key2};";
158 155
 $query = $dbi->create_query($source);
159 156
 $result = $dbi->execute($query, param => {key1 => 1, key2 => '%2%'});
160 157
 $rows = $result->fetch_hash_all;
161
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic tag2");
158
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag2");
162 159
 
163 160
 test 'DIB::Custom::SQLTemplate in tag';
164 161
 $dbi->execute($DROP_TABLE->{0});
... ...
@@ -170,7 +167,7 @@ $source = "select * from table1 where {in key1 2};";
170 167
 $query = $dbi->create_query($source);
171 168
 $result = $dbi->execute($query, param => {key1 => [9, 1]});
172 169
 $rows = $result->fetch_hash_all;
173
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic");
170
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
174 171
 
175 172
 test 'DBIx::Custom::SQLTemplate insert tag';
176 173
 $dbi->execute("delete from table1");
... ...
@@ -179,7 +176,7 @@ $dbi->execute($insert_SOURCE, param => {key1 => 1, key2 => 2, key3 => 3, key4 =>
179 176
 
180 177
 $result = $dbi->execute($SELECT_SOURCES->{0});
181 178
 $rows = $result->fetch_hash_all;
182
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic");
179
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
183 180
 
184 181
 test 'DBIx::Custom::SQLTemplate update tag';
185 182
 $dbi->execute("delete from table1");
... ...
@@ -193,15 +190,15 @@ $dbi->execute($update_SOURCE, param => {key1 => 1, key2 => 1, key3 => 1, key4 =>
193 190
 $result = $dbi->execute($SELECT_SOURCES->{0});
194 191
 $rows = $result->fetch_hash_all;
195 192
 is_deeply($rows, [{key1 => 1, key2 => 1, key3 => 1, key4 => 1, key5 => 5},
196
-                  {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10}], "$test : basic");
193
+                  {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10}], "basic");
197 194
 
198 195
 test 'Error case';
199 196
 eval {DBIx::Custom->connect(data_source => 'dbi:SQLit')};
200
-ok($@, "$test : connect error");
197
+ok($@, "connect error");
201 198
 
202 199
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
203 200
 eval{$dbi->create_query("{p }")};
204
-ok($@, "$test : create_query invalid SQL template");
201
+ok($@, "create_query invalid SQL template");
205 202
 
206 203
 test 'insert';
207 204
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -210,7 +207,7 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
210 207
 $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
211 208
 $result = $dbi->execute($SELECT_SOURCES->{0});
212 209
 $rows   = $result->fetch_hash_all;
213
-is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : basic");
210
+is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "basic");
214 211
 
215 212
 $dbi->execute('delete from table1');
216 213
 $dbi->register_filter(
... ...
@@ -221,7 +218,7 @@ $dbi->default_bind_filter('twice');
221 218
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, filter => {key1 => 'three_times'});
222 219
 $result = $dbi->execute($SELECT_SOURCES->{0});
223 220
 $rows   = $result->fetch_hash_all;
224
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test : filter");
221
+is_deeply($rows, [{key1 => 3, key2 => 4}], "filter");
225 222
 $dbi->default_bind_filter(undef);
226 223
 
227 224
 $dbi->execute($DROP_TABLE->{0});
... ...
@@ -231,7 +228,7 @@ $rows = $dbi->select(table => 'table1')->fetch_hash_all;
231 228
 is_deeply($rows, [{key1 => 1, key2 => 2}], 'insert append');
232 229
 
233 230
 eval{$dbi->insert(table => 'table1', noexist => 1)};
234
-like($@, qr/noexist/, "$test: invalid argument");
231
+like($@, qr/noexist/, "invalid argument");
235 232
 
236 233
 
237 234
 test 'update';
... ...
@@ -244,7 +241,7 @@ $result = $dbi->execute($SELECT_SOURCES->{0});
244 241
 $rows   = $result->fetch_hash_all;
245 242
 is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 3, key4 => 4, key5 => 5},
246 243
                   {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
247
-                  "$test : basic");
244
+                  "basic");
248 245
                   
249 246
 $dbi->execute("delete from table1");
250 247
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
... ...
@@ -254,14 +251,14 @@ $result = $dbi->execute($SELECT_SOURCES->{0});
254 251
 $rows   = $result->fetch_hash_all;
255 252
 is_deeply($rows, [{key1 => 1, key2 => 12, key3 => 3, key4 => 4, key5 => 5},
256 253
                   {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
257
-                  "$test : update key same as search key");
254
+                  "update key same as search key");
258 255
 
259 256
 $dbi->update(table => 'table1', param => {key2 => [12]}, where => {key2 => 2, key3 => 3});
260 257
 $result = $dbi->execute($SELECT_SOURCES->{0});
261 258
 $rows   = $result->fetch_hash_all;
262 259
 is_deeply($rows, [{key1 => 1, key2 => 12, key3 => 3, key4 => 4, key5 => 5},
263 260
                   {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
264
-                  "$test : update key same as search key : param is array ref");
261
+                  "update key same as search key : param is array ref");
265 262
 
266 263
 $dbi->execute("delete from table1");
267 264
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
... ...
@@ -273,15 +270,15 @@ $result = $dbi->execute($SELECT_SOURCES->{0});
273 270
 $rows   = $result->fetch_hash_all;
274 271
 is_deeply($rows, [{key1 => 1, key2 => 22, key3 => 3, key4 => 4, key5 => 5},
275 272
                   {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
276
-                  "$test : filter");
273
+                  "filter");
277 274
 
278 275
 $result = $dbi->update(table => 'table1', param => {key2 => 11}, where => {key1 => 1}, append => '   ');
279 276
 
280 277
 eval{$dbi->update(table => 'table1', noexist => 1)};
281
-like($@, qr/noexist/, "$test: invalid argument");
278
+like($@, qr/noexist/, "invalid argument");
282 279
 
283 280
 eval{$dbi->update(table => 'table1')};
284
-like($@, qr/where/, "$test: not contain where");
281
+like($@, qr/where/, "not contain where");
285 282
 
286 283
 
287 284
 test 'update_all';
... ...
@@ -295,7 +292,7 @@ $result = $dbi->execute($SELECT_SOURCES->{0});
295 292
 $rows   = $result->fetch_hash_all;
296 293
 is_deeply($rows, [{key1 => 1, key2 => 20, key3 => 3, key4 => 4, key5 => 5},
297 294
                   {key1 => 6, key2 => 20, key3 => 8, key4 => 9, key5 => 10}],
298
-                  "$test : filter");
295
+                  "filter");
299 296
 
300 297
 
301 298
 test 'delete';
... ...
@@ -306,7 +303,7 @@ $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
306 303
 $dbi->delete(table => 'table1', where => {key1 => 1});
307 304
 $result = $dbi->execute($SELECT_SOURCES->{0});
308 305
 $rows   = $result->fetch_hash_all;
309
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test : basic");
306
+is_deeply($rows, [{key1 => 3, key2 => 4}], "basic");
310 307
 
311 308
 $dbi->execute("delete from table1;");
312 309
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
... ...
@@ -315,7 +312,7 @@ $dbi->register_filter(twice => sub { $_[0] * 2 });
315 312
 $dbi->delete(table => 'table1', where => {key2 => 1}, filter => {key2 => 'twice'});
316 313
 $result = $dbi->execute($SELECT_SOURCES->{0});
317 314
 $rows   = $result->fetch_hash_all;
318
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test : filter");
315
+is_deeply($rows, [{key1 => 3, key2 => 4}], "filter");
319 316
 
320 317
 $dbi->delete(table => 'table1', where => {key1 => 1}, append => '   ');
321 318
 
... ...
@@ -324,10 +321,10 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
324 321
 $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
325 322
 $dbi->delete(table => 'table1', where => {key1 => 1, key2 => 2});
326 323
 $rows = $dbi->select(table => 'table1')->fetch_hash_all;
327
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test : delete multi key");
324
+is_deeply($rows, [{key1 => 3, key2 => 4}], "delete multi key");
328 325
 
329 326
 eval{$dbi->delete(table => 'table1', noexist => 1)};
330
-like($@, qr/noexist/, "$test: invalid argument");
327
+like($@, qr/noexist/, "invalid argument");
331 328
 
332 329
 
333 330
 test 'delete error';
... ...
@@ -335,7 +332,7 @@ $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
335 332
 $dbi->execute($CREATE_TABLE->{0});
336 333
 eval{$dbi->delete(table => 'table1')};
337 334
 like($@, qr/"where" argument must be specified and contains the pairs of column name and value/,
338
-         "$test : where key-value pairs not specified");
335
+         "where key-value pairs not specified");
339 336
 
340 337
 test 'delete_all';
341 338
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -345,7 +342,7 @@ $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
345 342
 $dbi->delete_all(table => 'table1');
346 343
 $result = $dbi->execute($SELECT_SOURCES->{0});
347 344
 $rows   = $result->fetch_hash_all;
348
-is_deeply($rows, [], "$test : basic");
345
+is_deeply($rows, [], "basic");
349 346
 
350 347
 
351 348
 test 'select';
... ...
@@ -355,27 +352,27 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
355 352
 $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
356 353
 $rows = $dbi->select(table => 'table1')->fetch_hash_all;
357 354
 is_deeply($rows, [{key1 => 1, key2 => 2},
358
-                  {key1 => 3, key2 => 4}], "$test : table");
355
+                  {key1 => 3, key2 => 4}], "table");
359 356
 
360 357
 $rows = $dbi->select(table => 'table1', column => ['key1'])->fetch_hash_all;
361
-is_deeply($rows, [{key1 => 1}, {key1 => 3}], "$test : table and columns and where key");
358
+is_deeply($rows, [{key1 => 1}, {key1 => 3}], "table and columns and where key");
362 359
 
363 360
 $rows = $dbi->select(table => 'table1', where => {key1 => 1})->fetch_hash_all;
364
-is_deeply($rows, [{key1 => 1, key2 => 2}], "$test : table and columns and where key");
361
+is_deeply($rows, [{key1 => 1, key2 => 2}], "table and columns and where key");
365 362
 
366 363
 $rows = $dbi->select(table => 'table1', where => ['{= key1} and {= key2}', {key1 => 1, key2 => 2}])->fetch_hash_all;
367
-is_deeply($rows, [{key1 => 1, key2 => 2}], "$test : table and columns and where string");
364
+is_deeply($rows, [{key1 => 1, key2 => 2}], "table and columns and where string");
368 365
 
369 366
 $rows = $dbi->select(table => 'table1', column => ['key1'], where => {key1 => 3})->fetch_hash_all;
370
-is_deeply($rows, [{key1 => 3}], "$test : table and columns and where key");
367
+is_deeply($rows, [{key1 => 3}], "table and columns and where key");
371 368
 
372 369
 $rows = $dbi->select(table => 'table1', append => "order by key1 desc limit 1")->fetch_hash_all;
373
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test : append statement");
370
+is_deeply($rows, [{key1 => 3, key2 => 4}], "append statement");
374 371
 
375 372
 $dbi->register_filter(decrement => sub { $_[0] - 1 });
376 373
 $rows = $dbi->select(table => 'table1', where => {key1 => 2}, filter => {key1 => 'decrement'})
377 374
             ->fetch_hash_all;
378
-is_deeply($rows, [{key1 => 1, key2 => 2}], "$test : filter");
375
+is_deeply($rows, [{key1 => 1, key2 => 2}], "filter");
379 376
 
380 377
 $dbi->execute($CREATE_TABLE->{2});
381 378
 $dbi->insert(table => 'table2', param => {key1 => 1, key3 => 5});
... ...
@@ -385,17 +382,17 @@ $rows = $dbi->select(
385 382
     where   => {'table1.key2' => 2},
386 383
     relation  => {'table1.key1' => 'table2.key1'}
387 384
 )->fetch_hash_all;
388
-is_deeply($rows, [{table1_key1 => 1, table2_key1 => 1, key2 => 2, key3 => 5}], "$test : relation : exists where");
385
+is_deeply($rows, [{table1_key1 => 1, table2_key1 => 1, key2 => 2, key3 => 5}], "relation : exists where");
389 386
 
390 387
 $rows = $dbi->select(
391 388
     table => [qw/table1 table2/],
392 389
     column => ['table1.key1 as table1_key1', 'table2.key1 as table2_key1', 'key2', 'key3'],
393 390
     relation  => {'table1.key1' => 'table2.key1'}
394 391
 )->fetch_hash_all;
395
-is_deeply($rows, [{table1_key1 => 1, table2_key1 => 1, key2 => 2, key3 => 5}], "$test : relation : no exists where");
392
+is_deeply($rows, [{table1_key1 => 1, table2_key1 => 1, key2 => 2, key3 => 5}], "relation : no exists where");
396 393
 
397 394
 eval{$dbi->select(table => 'table1', noexist => 1)};
398
-like($@, qr/noexist/, "$test: invalid argument");
395
+like($@, qr/noexist/, "invalid argument");
399 396
 
400 397
 
401 398
 test 'fetch filter';
... ...
@@ -410,16 +407,16 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
410 407
 $result = $dbi->select(table => 'table1');
411 408
 $result->filter({key1 => 'three_times'});
412 409
 $row = $result->fetch_hash_first;
413
-is_deeply($row, {key1 => 3, key2 => 4}, "$test: default_fetch_filter and filter");
410
+is_deeply($row, {key1 => 3, key2 => 4}, "default_fetch_filter and filter");
414 411
 
415 412
 test 'filters';
416 413
 $dbi = DBIx::Custom->new;
417 414
 
418 415
 is($dbi->filters->{decode_utf8}->(encode_utf8('あ')),
419
-   'あ', "$test : decode_utf8");
416
+   'あ', "decode_utf8");
420 417
 
421 418
 is($dbi->filters->{encode_utf8}->('あ'),
422
-   encode_utf8('あ'), "$test : encode_utf8");
419
+   encode_utf8('あ'), "encode_utf8");
423 420
 
424 421
 test 'transaction';
425 422
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -430,7 +427,7 @@ $dbi->insert(table => 'table1', param => {key1 => 2, key2 => 3});
430 427
 $dbi->dbh->commit;
431 428
 $result = $dbi->select(table => 'table1');
432 429
 is_deeply(scalar $result->fetch_hash_all, [{key1 => 1, key2 => 2}, {key1 => 2, key2 => 3}],
433
-          "$test : commit");
430
+          "commit");
434 431
 
435 432
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
436 433
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -439,7 +436,7 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
439 436
 $dbi->dbh->rollback;
440 437
 
441 438
 $result = $dbi->select(table => 'table1');
442
-ok(! $result->fetch_first, "$test: rollback");
439
+ok(! $result->fetch_first, "rollback");
443 440
 
444 441
 test 'cache';
445 442
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -447,7 +444,7 @@ $dbi->execute($CREATE_TABLE->{0});
447 444
 $source = 'select * from table1 where {= key1} and {= key2};';
448 445
 $dbi->create_query($source);
449 446
 is_deeply($dbi->{_cached}->{$source}, 
450
-          {sql => "select * from table1 where key1 = ? and key2 = ?;", columns => ['key1', 'key2']}, "$test : cache");
447
+          {sql => "select * from table1 where key1 = ? and key2 = ?;", columns => ['key1', 'key2']}, "cache");
451 448
 
452 449
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
453 450
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -462,32 +459,32 @@ $dbi->execute($CREATE_TABLE->{0});
462 459
 {
463 460
     local $Carp::Verbose = 0;
464 461
     eval{$dbi->execute('select * frm table1')};
465
-    like($@, qr/\Qselect * frm table1;/, "$test : fail prepare");
466
-    like($@, qr/\.t /, "$test: fail : not verbose");
462
+    like($@, qr/\Qselect * frm table1;/, "fail prepare");
463
+    like($@, qr/\.t /, "fail : not verbose");
467 464
 }
468 465
 {
469 466
     local $Carp::Verbose = 1;
470 467
     eval{$dbi->execute('select * frm table1')};
471
-    like($@, qr/Custom.*\.t /s, "$test : fail : verbose");
468
+    like($@, qr/Custom.*\.t /s, "fail : verbose");
472 469
 }
473 470
 
474 471
 eval{$dbi->execute('select * from table1', no_exists => 1)};
475
-like($@, qr/\Q"no_exists" is invalid argument/, "$test : invald SQL");
472
+like($@, qr/\Q"no_exists" is invalid argument/, "invald SQL");
476 473
 
477 474
 $query = $dbi->create_query('select * from table1 where {= key1}');
478 475
 $dbi->dbh->disconnect;
479 476
 eval{$dbi->execute($query, param => {key1 => {a => 1}})};
480
-ok($@, "$test: execute fail");
477
+ok($@, "execute fail");
481 478
 
482 479
 {
483 480
     local $Carp::Verbose = 0;
484 481
     eval{$dbi->create_query('select * from table1 where {0 key1}')};
485
-    like($@, qr/\Q.t /, "$test : caller spec : not vebose");
482
+    like($@, qr/\Q.t /, "caller spec : not vebose");
486 483
 }
487 484
 {
488 485
     local $Carp::Verbose = 1;
489 486
     eval{$dbi->create_query('select * from table1 where {0 key1}')};
490
-    like($@, qr/QueryBuilder.*\.t /s, "$test : caller spec : not vebose");
487
+    like($@, qr/QueryBuilder.*\.t /s, "caller spec : not vebose");
491 488
 }
492 489
 
493 490
 
... ...
@@ -507,7 +504,7 @@ $dbi->rollback if $@;
507 504
 
508 505
 $result = $dbi->select(table => 'table1');
509 506
 $rows = $result->fetch_hash_all;
510
-is_deeply($rows, [], "$test : rollback");
507
+is_deeply($rows, [], "rollback");
511 508
 
512 509
 $dbi->begin_work;
513 510
 
... ...
@@ -520,11 +517,11 @@ $dbi->commit unless $@;
520 517
 
521 518
 $result = $dbi->select(table => 'table1');
522 519
 $rows = $result->fetch_hash_all;
523
-is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : commit");
520
+is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "commit");
524 521
 
525 522
 $dbi->dbh->{AutoCommit} = 0;
526 523
 eval{ $dbi->begin_work };
527
-ok($@, "$test : exception");
524
+ok($@, "exception");
528 525
 $dbi->dbh->{AutoCommit} = 1;
529 526
 
530 527
 
... ...
@@ -543,12 +540,12 @@ $dbi->helper({
543 540
     }
544 541
 });
545 542
 
546
-is($dbi->one, 1, "$test : first");
547
-is($dbi->two, 2, "$test : second");
548
-is($dbi->twice(5), 10 , "$test : second");
543
+is($dbi->one, 1, "first");
544
+is($dbi->two, 2, "second");
545
+is($dbi->twice(5), 10 , "second");
549 546
 
550 547
 eval {$dbi->XXXXXX};
551
-like($@, qr/\QCan't locate object method "XXXXXX" via "DBIx::Custom"/, "$test : not exists");
548
+like($@, qr/\QCan't locate object method "XXXXXX" via "DBIx::Custom"/, "not exists");
552 549
 
553 550
 test 'out filter';
554 551
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -561,10 +558,10 @@ $dbi->apply_filter(
561 558
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
562 559
 $result = $dbi->execute($SELECT_SOURCES->{0});
563 560
 $row   = $result->fetch_hash_first;
564
-is_deeply($row, {key1 => 2, key2 => 6}, "$test : insert");
561
+is_deeply($row, {key1 => 2, key2 => 6}, "insert");
565 562
 $result = $dbi->select(table => 'table1');
566 563
 $row   = $result->fetch_hash_first;
567
-is_deeply($row, {key1 => 6, key2 => 12}, "$test : insert");
564
+is_deeply($row, {key1 => 6, key2 => 12}, "insert");
568 565
 
569 566
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
570 567
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -576,7 +573,7 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, filter => {key1
576 573
 $dbi->update(table => 'table1', param => {key1 => 2}, where => {key2 => 2});
577 574
 $result = $dbi->execute($SELECT_SOURCES->{0});
578 575
 $row   = $result->fetch_hash_first;
579
-is_deeply($row, {key1 => 4, key2 => 2}, "$test : update");
576
+is_deeply($row, {key1 => 4, key2 => 2}, "update");
580 577
 
581 578
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
582 579
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -588,7 +585,7 @@ $dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, filter => {key1
588 585
 $dbi->delete(table => 'table1', where => {key1 => 1});
589 586
 $result = $dbi->execute($SELECT_SOURCES->{0});
590 587
 $rows   = $result->fetch_hash_all;
591
-is_deeply($rows, [], "$test : delete");
588
+is_deeply($rows, [], "delete");
592 589
 
593 590
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
594 591
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -600,7 +597,7 @@ $dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, filter => {key1
600 597
 $result = $dbi->select(table => 'table1', where => {key1 => 1});
601 598
 $result->filter({'key2' => 'twice'});
602 599
 $rows   = $result->fetch_hash_all;
603
-is_deeply($rows, [{key1 => 4, key2 => 4}], "$test : select");
600
+is_deeply($rows, [{key1 => 4, key2 => 4}], "select");
604 601
 
605 602
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
606 603
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -613,7 +610,7 @@ $result = $dbi->execute("select * from table1 where {= key1} and {= key2};",
613 610
                         param => {key1 => 1, key2 => 2},
614 611
                         table => ['table1']);
615 612
 $rows   = $result->fetch_hash_all;
616
-is_deeply($rows, [{key1 => 4, key2 => 2}], "$test : execute");
613
+is_deeply($rows, [{key1 => 4, key2 => 2}], "execute");
617 614
 
618 615
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
619 616
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -635,7 +632,7 @@ $result = $dbi->select(
635 632
 
636 633
 $result->filter({'key2' => 'twice'});
637 634
 $rows   = $result->fetch_hash_all;
638
-is_deeply($rows, [{key2 => 4, key3 => 18}], "$test : select : join");
635
+is_deeply($rows, [{key2 => 4, key3 => 18}], "select : join");
639 636
 
640 637
 $result = $dbi->select(
641 638
      table => ['table1', 'table2'],
... ...
@@ -644,7 +641,7 @@ $result = $dbi->select(
644 641
 
645 642
 $result->filter({'key2' => 'twice'});
646 643
 $rows   = $result->fetch_hash_all;
647
-is_deeply($rows, [{key2 => 4, key3 => 18}], "$test : select : join : omit");
644
+is_deeply($rows, [{key2 => 4, key3 => 18}], "select : join : omit");
648 645
 
649 646
 test 'each_column';
650 647
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -668,7 +665,7 @@ is_deeply($infos,
668 665
         ['table2', 'key1', 'key1'],
669 666
         ['table2', 'key3', 'key3']
670 667
     ]
671
-    , $test
668
+    
672 669
 );
673 670
 
674 671
 test 'table';
... ...
@@ -679,25 +676,25 @@ $table->insert(param => {key1 => 1, key2 => 2});
679 676
 $table->insert(param => {key1 => 3, key2 => 4});
680 677
 $rows = $table->select->fetch_hash_all;
681 678
 is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}],
682
-                 "$test: select");
679
+                 "select");
683 680
 $rows = $table->select(where => {key2 => 2}, append => 'order by key1',
684 681
                               column => ['key1', 'key2'])->fetch_hash_all;
685 682
 is_deeply($rows, [{key1 => 1, key2 => 2}],
686
-                 "$test: insert insert select");
683
+                 "insert insert select");
687 684
 $table->update(param => {key1 => 3}, where => {key2 => 2});
688 685
 $table->update(param => {key1 => 5}, where => {key2 => 4});
689 686
 $rows = $table->select(where => {key2 => 2})->fetch_hash_all;
690 687
 is_deeply($rows, [{key1 => 3, key2 => 2}],
691
-                 "$test: update");
688
+                 "update");
692 689
 $table->delete(where => {key2 => 2});
693 690
 $rows = $table->select->fetch_hash_all;
694
-is_deeply($rows, [{key1 => 5, key2 => 4}], "$test: delete");
691
+is_deeply($rows, [{key1 => 5, key2 => 4}], "delete");
695 692
 $table->update_all(param => {key1 => 3});
696 693
 $rows = $table->select->fetch_hash_all;
697
-is_deeply($rows, [{key1 => 3, key2 => 4}], "$test: update_all");
694
+is_deeply($rows, [{key1 => 3, key2 => 4}], "update_all");
698 695
 $table->delete_all;
699 696
 $rows = $table->select->fetch_hash_all;
700
-is_deeply($rows, [], "$test: delete_all");
697
+is_deeply($rows, [], "delete_all");
701 698
 
702 699
 $dbi->dbh->do($CREATE_TABLE->{2});
703 700
 $dbi->table('table2', ppp => sub {
... ...
@@ -705,14 +702,14 @@ $dbi->table('table2', ppp => sub {
705 702
     
706 703
     return $self->name;
707 704
 });
708
-is($dbi->table('table2')->ppp, 'table2', "$test : helper");
705
+is($dbi->table('table2')->ppp, 'table2', "helper");
709 706
 
710 707
 $dbi->table('table2', {qqq => sub {
711 708
     my $self = shift;
712 709
     
713 710
     return $self->name;
714 711
 }});
715
-is($dbi->table('table2')->qqq, 'table2', "$test : helper");
712
+is($dbi->table('table2')->qqq, 'table2', "helper");
716 713
 
717 714
 
718 715
 test 'limit';
... ...
@@ -737,19 +734,19 @@ $rows = $dbi->select(
737 734
   where => {key1 => 1},
738 735
   append => "order by key2 {limit 1 0}"
739 736
 )->fetch_hash_all;
740
-is_deeply($rows, [{key1 => 1, key2 => 2}], $test);
737
+is_deeply($rows, [{key1 => 1, key2 => 2}]);
741 738
 $rows = $dbi->select(
742 739
   table => 'table1',
743 740
   where => {key1 => 1},
744 741
   append => "order by key2 {limit 2 1}"
745 742
 )->fetch_hash_all;
746
-is_deeply($rows, [{key1 => 1, key2 => 4},{key1 => 1, key2 => 6}], $test);
743
+is_deeply($rows, [{key1 => 1, key2 => 4},{key1 => 1, key2 => 6}]);
747 744
 $rows = $dbi->select(
748 745
   table => 'table1',
749 746
   where => {key1 => 1},
750 747
   append => "order by key2 {limit 1}"
751 748
 )->fetch_hash_all;
752
-is_deeply($rows, [{key1 => 1, key2 => 2}], $test);
749
+is_deeply($rows, [{key1 => 1, key2 => 2}]);
753 750
 
754 751
 test 'connect super';
755 752
 {
... ...
@@ -772,12 +769,12 @@ test 'connect super';
772 769
 $dbi = MyDBI->connect($NEW_ARGS->{0});
773 770
 $dbi->execute($CREATE_TABLE->{0});
774 771
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
775
-is($dbi->select(table => 'table1')->fetch_hash_first->{key1}, 1, $test);
772
+is($dbi->select(table => 'table1')->fetch_hash_first->{key1}, 1);
776 773
 
777 774
 $dbi = MyDBI->new($NEW_ARGS->{0});
778 775
 $dbi->execute($CREATE_TABLE->{0});
779 776
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
780
-is($dbi->select(table => 'table1')->fetch_hash_first->{key1}, 1, $test);
777
+is($dbi->select(table => 'table1')->fetch_hash_first->{key1}, 1);
781 778
 
782 779
 
783 780
 test 'end_filter';
+7 -9
t/dbix-custom-core.t
... ...
@@ -7,9 +7,7 @@ use DBIx::Custom::QueryBuilder;
7 7
 
8 8
 # Function for test name
9 9
 my $test;
10
-sub test {
11
-    $test = shift;
12
-}
10
+sub test { "# $_[0]\n" }
13 11
 
14 12
 # Variables for test
15 13
 my $dbi;
... ...
@@ -32,7 +30,7 @@ $dbi = DBIx::Custom->new(
32 30
 is_deeply($dbi,{user => 'a', password => 'b', data_source => 'c', 
33 31
                 filters => {f => 3}, default_bind_filter => 'f',
34 32
                 default_fetch_filter => 'g', result_class => 'g',
35
-                query_builder => $query_builder}, $test);
33
+                query_builder => $query_builder});
36 34
 isa_ok($dbi, 'DBIx::Custom');
37 35
 
38 36
 
... ...
@@ -47,7 +45,7 @@ $dbi = DBIx::Custom::T1->new(
47 45
         fo => 30,
48 46
     },
49 47
 );
50
-is_deeply(scalar $dbi->filters, {fo => 30}, "$test : filters");
48
+is_deeply(scalar $dbi->filters, {fo => 30}, "filters");
51 49
 
52 50
 test 'Sub sub class constructor default';
53 51
 {
... ...
@@ -74,16 +72,16 @@ $dbi = DBIx::Custom::T1_3->new(
74 72
         f => 3,
75 73
     },
76 74
 );
77
-is_deeply($dbi->filters, {f => 3}, "$test : filters");
75
+is_deeply($dbi->filters, {f => 3}, "filters");
78 76
 isa_ok($dbi, 'DBIx::Custom');
79 77
 
80 78
 
81 79
 test 'register_filters';
82 80
 $dbi = DBIx::Custom->new;
83 81
 $dbi->register_filter(a => sub {1});
84
-is($dbi->filters->{a}->(), 1, $test);
82
+is($dbi->filters->{a}->(), 1);
85 83
 $dbi->register_filter({b => sub {2}});
86
-is($dbi->filters->{b}->(), 2, $test);
84
+is($dbi->filters->{b}->(), 2);
87 85
 
88 86
 
89 87
 test 'expand';
... ...
@@ -102,4 +100,4 @@ test 'expand';
102 100
 
103 101
 test 'invalid attribute name';
104 102
 eval {$dbi = DBIx::Custom->new(a => 1) };
105
-like ($@, qr/"a" is invalid attribute name/, $test);
103
+like ($@, qr/"a" is invalid attribute name/);
+8 -12
t/dbix-custom-mysql-private.t
... ...
@@ -10,11 +10,7 @@ plan skip_all => 'private MySQL test' unless $USER;
10 10
 plan 'no_plan';
11 11
 
12 12
 # Function for test name
13
-my $test;
14
-sub test {
15
-    $test = shift;
16
-}
17
-
13
+sub test { print "# $_[0]\n" }
18 14
 
19 15
 # Functions for tests
20 16
 sub connect_info {
... ...
@@ -47,15 +43,15 @@ test 'connect';
47 43
 $dbi = DBIx::Custom::MySQL->new(user => $USER, password => $PASSWORD,
48 44
                     database => $DATABASE, host => 'localhost', port => '10000');
49 45
 $dbi->connect;
50
-like($dbi->data_source, qr/dbi:mysql:database=.*;host=localhost;port=10000;/, "$test : created data source");
51
-is(ref $dbi->dbh, 'DBI::db', $test);
46
+like($dbi->data_source, qr/dbi:mysql:database=.*;host=localhost;port=10000;/, "created data source");
47
+is(ref $dbi->dbh, 'DBI::db');
52 48
 
53 49
 test 'attributes';
54 50
 $dbi = DBIx::Custom::MySQL->new;
55 51
 $dbi->host('a');
56
-is($dbi->host, 'a', "$test: host");
52
+is($dbi->host, 'a', "host");
57 53
 $dbi->port('b');
58
-is($dbi->port, 'b', "$test: port");
54
+is($dbi->port, 'b', "port");
59 55
 
60 56
 test 'limit';
61 57
 $dbi = DBIx::Custom->connect(
... ...
@@ -83,17 +79,17 @@ $rows = $dbi->select(
83 79
   where => {key1 => 1},
84 80
   append => "order by key2 {limit 1 0}"
85 81
 )->fetch_hash_all;
86
-is_deeply($rows, [{key1 => 1, key2 => 2}], $test);
82
+is_deeply($rows, [{key1 => 1, key2 => 2}]);
87 83
 $rows = $dbi->select(
88 84
   table => 'table1',
89 85
   where => {key1 => 1},
90 86
   append => "order by key2 {limit 2 1}"
91 87
 )->fetch_hash_all;
92
-is_deeply($rows, [{key1 => 1, key2 => 4},{key1 => 1, key2 => 6}], $test);
88
+is_deeply($rows, [{key1 => 1, key2 => 4},{key1 => 1, key2 => 6}]);
93 89
 $rows = $dbi->select(
94 90
   table => 'table1',
95 91
   where => {key1 => 1},
96 92
   append => "order by key2 {limit 1}"
97 93
 )->fetch_hash_all;
98
-is_deeply($rows, [{key1 => 1, key2 => 2}], $test);
94
+is_deeply($rows, [{key1 => 1, key2 => 2}]);
99 95
 $dbi->delete_all(table => 'table1');
+5 -8
t/dbix-custom-query.t
... ...
@@ -5,10 +5,7 @@ use warnings;
5 5
 use DBIx::Custom::Query;
6 6
 
7 7
 # Function for test name
8
-my $test;
9
-sub test{
10
-    $test = shift;
11
-}
8
+sub test{ "# $_[0]\n" }
12 9
 
13 10
 # Variables for test
14 11
 my $query;
... ...
@@ -22,8 +19,8 @@ $query = DBIx::Custom::Query->new(
22 19
     fetch_filter     => 'f',
23 20
 );
24 21
 
25
-is($query->sql, 'a', "$test : sql");
26
-is($query->columns, 'b', "$test : columns ");
27
-is($query->filter, 'c', "$test : filter");
28
-is($query->sth, 'e', "$test : sth");
22
+is($query->sql, 'a', "sql");
23
+is($query->columns, 'b', "columns ");
24
+is($query->filter, 'c', "filter");
25
+is($query->sth, 'e', "sth");
29 26
 
+21 -24
t/dbix-custom-querybuilder.t
... ...
@@ -6,10 +6,7 @@ use Test::More 'no_plan';
6 6
 use DBIx::Custom::QueryBuilder;
7 7
 
8 8
 # Function for test name
9
-my $test;
10
-sub test{
11
-    $test = shift;
12
-}
9
+sub test{ "# $_[0]\n" }
13 10
 
14 11
 # Variable for test
15 12
 my $datas;
... ...
@@ -59,8 +56,8 @@ for (my $i = 0; $i < @$datas; $i++) {
59 56
     my $data = $datas->[$i];
60 57
     my $builder = DBIx::Custom::QueryBuilder->new;
61 58
     my $query = $builder->build_query($data->{source});
62
-    is($query->{sql}, $data->{sql_expected}, "$test : $data->{name} : sql");
63
-    is_deeply($query->{columns}, $data->{columns_expected}, "$test : $data->{name} : columns");
59
+    is($query->{sql}, $data->{sql_expected}, "$data->{name} : sql");
60
+    is_deeply($query->{columns}, $data->{columns_expected}, "$data->{name} : columns");
64 61
 }
65 62
 
66 63
 
... ...
@@ -78,8 +75,8 @@ $ret_val = $builder->register_tag_processor(
78 75
 );
79 76
 
80 77
 $query = $builder->build_query("{p a b}");
81
-is($query->{sql}, "? a b;", "$test : register_tag_processor sql");
82
-is_deeply($query->{columns}, [2], "$test : register_tag_processor columns");
78
+is($query->{sql}, "? a b;", "register_tag_processor sql");
79
+is_deeply($query->{columns}, [2], "register_tag_processor columns");
83 80
 isa_ok($ret_val, 'DBIx::Custom::QueryBuilder');
84 81
 
85 82
 
... ...
@@ -87,31 +84,31 @@ test "Tag processor error case";
87 84
 $builder = DBIx::Custom::QueryBuilder->new;
88 85
 
89 86
 eval{$builder->build_query('{? }')};
90
-like($@, qr/\QColumn name must be specified in tag "{? }"/, "$test : ? not arguments");
87
+like($@, qr/\QColumn name must be specified in tag "{? }"/, "? not arguments");
91 88
 
92 89
 eval{$builder->build_query("{a }")};
93
-like($@, qr/\QTag "a" in "{a }" is not registered/, "$test : tag_processor not exist");
90
+like($@, qr/\QTag "a" in "{a }" is not registered/, "tag_processor not exist");
94 91
 
95 92
 $builder->register_tag_processor({
96 93
     q => 'string'
97 94
 });
98 95
 
99 96
 eval{$builder->build_query("{q}", {})};
100
-like($@, qr/Tag processor "q" must be sub reference/, "$test : tag_processor not code ref");
97
+like($@, qr/Tag processor "q" must be sub reference/, "tag_processor not code ref");
101 98
 
102 99
 $builder->register_tag_processor({
103 100
    r => sub {} 
104 101
 });
105 102
 
106 103
 eval{$builder->build_query("{r}")};
107
-like($@, qr/\QTag processor "r" must return [STRING, ARRAY_REFERENCE]/, "$test : tag processor return noting");
104
+like($@, qr/\QTag processor "r" must return [STRING, ARRAY_REFERENCE]/, "tag processor return noting");
108 105
 
109 106
 $builder->register_tag_processor({
110 107
    s => sub { return ["a", ""]} 
111 108
 });
112 109
 
113 110
 eval{$builder->build_query("{s}")};
114
-like($@, qr/\QTag processor "s" must return [STRING, ARRAY_REFERENCE]/, "$test : tag processor return not array columns");
111
+like($@, qr/\QTag processor "s" must return [STRING, ARRAY_REFERENCE]/, "tag processor return not array columns");
115 112
 
116 113
 $builder->register_tag_processor(
117 114
     t => sub {return ["a", []]}
... ...
@@ -126,47 +123,47 @@ $builder->register_tag_processor(
126 123
     }
127 124
 );
128 125
 eval{$builder->build_query("{a}")};
129
-like($@, qr/\QPlaceholder count in "? ? ?" must be same as column count 1/, "$test : placeholder count is invalid");
126
+like($@, qr/\QPlaceholder count in "? ? ?" must be same as column count 1/, "placeholder count is invalid");
130 127
 
131 128
 
132 129
 test 'Default tag processor Error case';
133 130
 eval{$builder->build_query("{= }")};
134
-like($@, qr/Column name must be specified in tag "{= }"/, "$test : basic '=' : key not exist");
131
+like($@, qr/Column name must be specified in tag "{= }"/, "basic '=' : key not exist");
135 132
 
136 133
 eval{$builder->build_query("{in }")};
137
-like($@, qr/Column name and count of values must be specified in tag "{in }"/, "$test : in : key not exist");
134
+like($@, qr/Column name and count of values must be specified in tag "{in }"/, "in : key not exist");
138 135
 
139 136
 eval{$builder->build_query("{in a}")};
140 137
 like($@, qr/\QColumn name and count of values must be specified in tag "{in }"/,
141
-     "$test : in : key not exist");
138
+     "in : key not exist");
142 139
 
143 140
 eval{$builder->build_query("{in a r}")};
144 141
 like($@, qr/\QColumn name and count of values must be specified in tag "{in }"/,
145
-     "$test : in : key not exist");
142
+     "in : key not exist");
146 143
 
147 144
 test 'variouse source';
148 145
 $source = "a {= b} c \\{ \\} {= \\{} {= \\}} d;";
149 146
 $query = $builder->build_query($source);
150
-is($query->sql, 'a b = ? c { } { = ? } = ? d;', "$test : basic : 1");
147
+is($query->sql, 'a b = ? c { } { = ? } = ? d;', "basic : 1");
151 148
 
152 149
 $source = "abc;";
153 150
 $query = $builder->build_query($source);
154
-is($query->sql, 'abc;', "$test : basic : 2");
151
+is($query->sql, 'abc;', "basic : 2");
155 152
 
156 153
 $source = "{= a}";
157 154
 $query = $builder->build_query($source);
158
-is($query->sql, 'a = ?;', "$test : only tag");
155
+is($query->sql, 'a = ?;', "only tag");
159 156
 
160 157
 $source = "000;";
161 158
 $query = $builder->build_query($source);
162
-is($query->sql, '000;', "$test : contain 0 value");
159
+is($query->sql, '000;', "contain 0 value");
163 160
 
164 161
 $source = "a {= b} }";
165 162
 eval{$builder->build_query($source)};
166
-like($@, qr/unexpected "}"/, "$test : error : 1");
163
+like($@, qr/unexpected "}"/, "error : 1");
167 164
 
168 165
 $source = "a {= {}";
169 166
 eval{$builder->build_query($source)};
170
-like($@, qr/unexpected "{"/, "$test : error : 2");
167
+like($@, qr/unexpected "{"/, "error : 2");
171 168
 
172 169
 
+7 -10
t/dbix-custom-sqlite.t
... ...
@@ -14,10 +14,7 @@ BEGIN {
14 14
 }
15 15
 
16 16
 # Function for test name
17
-my $test;
18
-sub test {
19
-    $test = shift;
20
-}
17
+sub test { "# $_[0]\n" }
21 18
 
22 19
 # Constant varialbes for test
23 20
 my $CREATE_TABLE = {
... ...
@@ -37,25 +34,25 @@ my $id;
37 34
 test 'connect_memory';
38 35
 $dbi = DBIx::Custom::SQLite->connect_memory;
39 36
 $ret_val = $dbi->execute($CREATE_TABLE->{0});
40
-ok(defined $ret_val, $test);
37
+ok(defined $ret_val);
41 38
 $dbi->insert(table => 'table1', param => {key1 => 'a', key2 => 2});
42 39
 $rows = $dbi->select(table => 'table1', where => {key1 => 'a'})->fetch_hash_all;
43
-is_deeply($rows, [{key1 => 'a', key2 => 2}], "$test : select rows");
40
+is_deeply($rows, [{key1 => 'a', key2 => 2}], "select rows");
44 41
 
45 42
 test 'connect';
46 43
 $db_file  = 't/test.db';
47 44
 unlink $db_file if -f $db_file;
48 45
 $dbi = DBIx::Custom::SQLite->new(database => $db_file);
49 46
 $dbi->connect;
50
-ok(-f $db_file, "$test : database file");
47
+ok(-f $db_file, "database file");
51 48
 $ret_val = $dbi->execute($CREATE_TABLE->{0});
52
-ok(defined $ret_val, "$test : database");
49
+ok(defined $ret_val, "database");
53 50
 $dbi->dbh->disconnect;
54 51
 
55 52
 unlink $db_file if -f $db_file;
56 53
 $dbi = DBIx::Custom::SQLite->connect(database => $db_file);
57
-ok($dbi, "$test : called from class name");
54
+ok($dbi, "called from class name");
58 55
 
59 56
 unlink $db_file if -f $db_file;
60 57
 $dbi = DBIx::Custom::SQLite->connect(data_source => "dbi:SQLite:dbname=$db_file");
61
-ok($dbi, "$test : specified data source");
58
+ok($dbi, "specified data source");
+3 -4
t/dbix-custom-transaction-manager.t
... ...
@@ -8,8 +8,7 @@ plan 'no_plan';
8 8
 use DBIx::Custom;
9 9
 
10 10
 # Function for test name
11
-my $test;
12
-sub test {$test = shift }
11
+sub test { "# $_[0]\n" }
13 12
 
14 13
 # Constant varialbes for test
15 14
 my $CREATE_TABLE = {
... ...
@@ -36,7 +35,7 @@ $dbi->execute($CREATE_TABLE->{0});
36 35
 }
37 36
 $result = $dbi->select(table => 'table1');
38 37
 is_deeply(scalar $result->fetch_hash_all, [{key1 => 1, key2 => 2}, {key1 => 2, key2 => 3}],
39
-          "$test : commit");
38
+          "commit");
40 39
 
41 40
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
42 41
 $dbi->execute($CREATE_TABLE->{0});
... ...
@@ -49,5 +48,5 @@ $dbi->execute($CREATE_TABLE->{0});
49 48
     }
50 49
 }
51 50
 $result = $dbi->select(table => 'table1');
52
-ok(! $result->fetch_first, "$test: rollback");
51
+ok(! $result->fetch_first, "rollback");
53 52
 
-18
t/pod-coverage.t
... ...
@@ -1,18 +0,0 @@
1
-use strict;
2
-use warnings;
3
-use Test::More;
4
-
5
-# Ensure a recent version of Test::Pod::Coverage
6
-my $min_tpc = 1.08;
7
-eval "use Test::Pod::Coverage $min_tpc";
8
-plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
9
-    if $@;
10
-
11
-# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
12
-# but older versions don't recognize some common documentation styles
13
-my $min_pc = 0.18;
14
-eval "use Pod::Coverage $min_pc";
15
-plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
16
-    if $@;
17
-
18
-all_pod_coverage_ok({also_private => [qr/default_bind_filter|default_fetch_filter|default_filter/]});