... | ... |
@@ -19,10 +19,136 @@ BEGIN { |
19 | 19 |
$SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /DEPRECATED/}; |
20 | 20 |
sub test { print "# $_[0]\n" } |
21 | 21 |
|
22 |
+use DBIx::Custom; |
|
23 |
+use MyDBI1; |
|
24 |
+{ |
|
25 |
+ package MyDBI4; |
|
26 |
+ |
|
27 |
+ use strict; |
|
28 |
+ use warnings; |
|
29 |
+ |
|
30 |
+ use base 'DBIx::Custom'; |
|
31 |
+ |
|
32 |
+ sub connect { |
|
33 |
+ my $self = shift->SUPER::connect(@_); |
|
34 |
+ |
|
35 |
+ $self->include_model( |
|
36 |
+ MyModel2 => [ |
|
37 |
+ 'book', |
|
38 |
+ {class => 'Company', name => 'company'} |
|
39 |
+ ] |
|
40 |
+ ); |
|
41 |
+ } |
|
42 |
+ |
|
43 |
+ package MyModel2::Base1; |
|
44 |
+ |
|
45 |
+ use strict; |
|
46 |
+ use warnings; |
|
47 |
+ |
|
48 |
+ use base 'DBIx::Custom::Model'; |
|
49 |
+ |
|
50 |
+ package MyModel2::book; |
|
51 |
+ |
|
52 |
+ use strict; |
|
53 |
+ use warnings; |
|
54 |
+ |
|
55 |
+ use base 'MyModel2::Base1'; |
|
56 |
+ |
|
57 |
+ sub insert { |
|
58 |
+ my ($self, $param) = @_; |
|
59 |
+ |
|
60 |
+ return $self->SUPER::insert(param => $param); |
|
61 |
+ } |
|
62 |
+ |
|
63 |
+ sub list { shift->select; } |
|
64 |
+ |
|
65 |
+ package MyModel2::Company; |
|
66 |
+ |
|
67 |
+ use strict; |
|
68 |
+ use warnings; |
|
69 |
+ |
|
70 |
+ use base 'MyModel2::Base1'; |
|
71 |
+ |
|
72 |
+ sub insert { |
|
73 |
+ my ($self, $param) = @_; |
|
74 |
+ |
|
75 |
+ return $self->SUPER::insert(param => $param); |
|
76 |
+ } |
|
77 |
+ |
|
78 |
+ sub list { shift->select; } |
|
79 |
+} |
|
22 | 80 |
{ |
23 | 81 |
package DBIx::Custom; |
24 | 82 |
has dsn => sub { 'dbi:SQLite:dbname=:memory:' } |
25 | 83 |
} |
84 |
+{ |
|
85 |
+ package MyDBI5; |
|
86 |
+ |
|
87 |
+ use strict; |
|
88 |
+ use warnings; |
|
89 |
+ |
|
90 |
+ use base 'DBIx::Custom'; |
|
91 |
+ |
|
92 |
+ sub connect { |
|
93 |
+ my $self = shift->SUPER::connect(@_); |
|
94 |
+ |
|
95 |
+ $self->include_model('MyModel4'); |
|
96 |
+ } |
|
97 |
+} |
|
98 |
+{ |
|
99 |
+ package MyDBI6; |
|
100 |
+ |
|
101 |
+ use base 'DBIx::Custom'; |
|
102 |
+ |
|
103 |
+ sub connect { |
|
104 |
+ my $self = shift->SUPER::connect(@_); |
|
105 |
+ |
|
106 |
+ $self->include_model('MyModel5'); |
|
107 |
+ |
|
108 |
+ return $self; |
|
109 |
+ } |
|
110 |
+} |
|
111 |
+{ |
|
112 |
+ package MyDBI7; |
|
113 |
+ |
|
114 |
+ use base 'DBIx::Custom'; |
|
115 |
+ |
|
116 |
+ sub connect { |
|
117 |
+ my $self = shift->SUPER::connect(@_); |
|
118 |
+ |
|
119 |
+ $self->include_model('MyModel6'); |
|
120 |
+ |
|
121 |
+ |
|
122 |
+ return $self; |
|
123 |
+ } |
|
124 |
+} |
|
125 |
+{ |
|
126 |
+ package MyDBI8; |
|
127 |
+ |
|
128 |
+ use base 'DBIx::Custom'; |
|
129 |
+ |
|
130 |
+ sub connect { |
|
131 |
+ my $self = shift->SUPER::connect(@_); |
|
132 |
+ |
|
133 |
+ $self->include_model('MyModel7'); |
|
134 |
+ |
|
135 |
+ return $self; |
|
136 |
+ } |
|
137 |
+} |
|
138 |
+ |
|
139 |
+{ |
|
140 |
+ package MyDBI9; |
|
141 |
+ |
|
142 |
+ use base 'DBIx::Custom'; |
|
143 |
+ |
|
144 |
+ sub connect { |
|
145 |
+ my $self = shift->SUPER::connect(@_); |
|
146 |
+ |
|
147 |
+ $self->include_model('MyModel8')->setup_model; |
|
148 |
+ |
|
149 |
+ return $self; |
|
150 |
+ } |
|
151 |
+} |
|
26 | 152 |
|
27 | 153 |
# Constant |
28 | 154 |
my $create_table1 = 'create table table1 (key1 char(255), key2 char(255));'; |
... | ... |
@@ -265,19 +391,6 @@ $model = $dbi->model('book'); |
265 | 391 |
|
266 | 392 |
|
267 | 393 |
test 'model delete_at'; |
268 |
-{ |
|
269 |
- package MyDBI6; |
|
270 |
- |
|
271 |
- use base 'DBIx::Custom'; |
|
272 |
- |
|
273 |
- sub connect { |
|
274 |
- my $self = shift->SUPER::connect(@_); |
|
275 |
- |
|
276 |
- $self->include_model('MyModel5'); |
|
277 |
- |
|
278 |
- return $self; |
|
279 |
- } |
|
280 |
-} |
|
281 | 394 |
$dbi = MyDBI6->connect; |
282 | 395 |
eval { $dbi->execute('drop table table1') }; |
283 | 396 |
eval { $dbi->execute('drop table table2') }; |
... | ... |
@@ -337,20 +450,6 @@ is($row->{key3}, 3); |
337 | 450 |
|
338 | 451 |
|
339 | 452 |
test 'mycolumn and column'; |
340 |
-{ |
|
341 |
- package MyDBI7; |
|
342 |
- |
|
343 |
- use base 'DBIx::Custom'; |
|
344 |
- |
|
345 |
- sub connect { |
|
346 |
- my $self = shift->SUPER::connect(@_); |
|
347 |
- |
|
348 |
- $self->include_model('MyModel6'); |
|
349 |
- |
|
350 |
- |
|
351 |
- return $self; |
|
352 |
- } |
|
353 |
-} |
|
354 | 453 |
$dbi = MyDBI7->connect; |
355 | 454 |
eval { $dbi->execute('drop table table1') }; |
356 | 455 |
eval { $dbi->execute('drop table table2') }; |
... | ... |
@@ -560,19 +659,6 @@ $rows = $dbi->select( |
560 | 659 |
is_deeply($rows, [{table1_key1 => 1, table2_key1 => 1, key2 => 2, key3 => 5}], |
561 | 660 |
'quote'); |
562 | 661 |
|
563 |
-{ |
|
564 |
- package MyDBI8; |
|
565 |
- |
|
566 |
- use base 'DBIx::Custom'; |
|
567 |
- |
|
568 |
- sub connect { |
|
569 |
- my $self = shift->SUPER::connect(@_); |
|
570 |
- |
|
571 |
- $self->include_model('MyModel7'); |
|
572 |
- |
|
573 |
- return $self; |
|
574 |
- } |
|
575 |
-} |
|
576 | 662 |
|
577 | 663 |
$dbi = DBIx::Custom->connect; |
578 | 664 |
eval { $dbi->execute('drop table table1') }; |
... | ... |
@@ -702,19 +788,6 @@ is_deeply($result->one, |
702 | 788 |
{key1 => 1, 'table2.key1' => 1}); |
703 | 789 |
|
704 | 790 |
test 'dbi method from model'; |
705 |
-{ |
|
706 |
- package MyDBI9; |
|
707 |
- |
|
708 |
- use base 'DBIx::Custom'; |
|
709 |
- |
|
710 |
- sub connect { |
|
711 |
- my $self = shift->SUPER::connect(@_); |
|
712 |
- |
|
713 |
- $self->include_model('MyModel8')->setup_model; |
|
714 |
- |
|
715 |
- return $self; |
|
716 |
- } |
|
717 |
-} |
|
718 | 791 |
$dbi = MyDBI9->connect; |
719 | 792 |
eval { $dbi->execute('drop table table1') }; |
720 | 793 |
$dbi->execute($create_table1); |
... | ... |
@@ -2281,62 +2354,6 @@ is_deeply($model->list->all, [{name => 'a'}], 'basic'); |
2281 | 2354 |
is($dbi->models->{'book'}, $dbi->model('book')); |
2282 | 2355 |
is($dbi->models->{'company'}, $dbi->model('company')); |
2283 | 2356 |
|
2284 |
-{ |
|
2285 |
- package MyDBI4; |
|
2286 |
- |
|
2287 |
- use strict; |
|
2288 |
- use warnings; |
|
2289 |
- |
|
2290 |
- use base 'DBIx::Custom'; |
|
2291 |
- |
|
2292 |
- sub connect { |
|
2293 |
- my $self = shift->SUPER::connect(@_); |
|
2294 |
- |
|
2295 |
- $self->include_model( |
|
2296 |
- MyModel2 => [ |
|
2297 |
- 'book', |
|
2298 |
- {class => 'Company', name => 'company'} |
|
2299 |
- ] |
|
2300 |
- ); |
|
2301 |
- } |
|
2302 |
- |
|
2303 |
- package MyModel2::Base1; |
|
2304 |
- |
|
2305 |
- use strict; |
|
2306 |
- use warnings; |
|
2307 |
- |
|
2308 |
- use base 'DBIx::Custom::Model'; |
|
2309 |
- |
|
2310 |
- package MyModel2::book; |
|
2311 |
- |
|
2312 |
- use strict; |
|
2313 |
- use warnings; |
|
2314 |
- |
|
2315 |
- use base 'MyModel2::Base1'; |
|
2316 |
- |
|
2317 |
- sub insert { |
|
2318 |
- my ($self, $param) = @_; |
|
2319 |
- |
|
2320 |
- return $self->SUPER::insert(param => $param); |
|
2321 |
- } |
|
2322 |
- |
|
2323 |
- sub list { shift->select; } |
|
2324 |
- |
|
2325 |
- package MyModel2::Company; |
|
2326 |
- |
|
2327 |
- use strict; |
|
2328 |
- use warnings; |
|
2329 |
- |
|
2330 |
- use base 'MyModel2::Base1'; |
|
2331 |
- |
|
2332 |
- sub insert { |
|
2333 |
- my ($self, $param) = @_; |
|
2334 |
- |
|
2335 |
- return $self->SUPER::insert(param => $param); |
|
2336 |
- } |
|
2337 |
- |
|
2338 |
- sub list { shift->select; } |
|
2339 |
-} |
|
2340 | 2357 |
$dbi = MyDBI4->connect; |
2341 | 2358 |
eval { $dbi->execute('drop table book') }; |
2342 | 2359 |
$dbi->execute("create table book (title, author)"); |
... | ... |
@@ -2348,20 +2365,6 @@ $model = $dbi->model('company'); |
2348 | 2365 |
$model->insert({name => 'a'}); |
2349 | 2366 |
is_deeply($model->list->all, [{name => 'a'}], 'basic'); |
2350 | 2367 |
|
2351 |
-{ |
|
2352 |
- package MyDBI5; |
|
2353 |
- |
|
2354 |
- use strict; |
|
2355 |
- use warnings; |
|
2356 |
- |
|
2357 |
- use base 'DBIx::Custom'; |
|
2358 |
- |
|
2359 |
- sub connect { |
|
2360 |
- my $self = shift->SUPER::connect(@_); |
|
2361 |
- |
|
2362 |
- $self->include_model('MyModel4'); |
|
2363 |
- } |
|
2364 |
-} |
|
2365 | 2368 |
$dbi = MyDBI5->connect; |
2366 | 2369 |
eval { $dbi->execute('drop table company') }; |
2367 | 2370 |
eval { $dbi->execute('drop table table1') }; |