71273f99fce60b5d8109ff93ddba33ae6efee3c3
[scpubgit/Q-Branch.git] / t / dbic / no-repeats.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5
6 BEGIN {
7   # ask for a recent DBIC version to skip the 5.6.2 tests as well
8   plan skip_all => 'Test temporarily requires DBIx::Class'
9     unless eval { require DBIx::Class::Storage::Statistics; DBIx::Class->VERSION('0.08124') };
10 }
11
12 use DBIx::Class::Storage::Debug::PrettyPrint;
13
14 my $cap;
15 open my $fh, '>', \$cap;
16
17 my $pp = DBIx::Class::Storage::Debug::PrettyPrint->new({
18    profile => 'none',
19    squash_repeats => 1,
20    fill_in_placeholders => 1,
21    placeholder_surround => ['', ''],
22    show_progress => 0,
23 });
24
25 $pp->debugfh($fh);
26
27 $pp->query_start('SELECT * FROM frew WHERE id = ?', q('1'));
28 is(
29    $cap,
30    qq(SELECT * FROM frew WHERE id = '1'\n),
31    'SQL Logged'
32 );
33
34 open $fh, '>', \$cap;
35 $pp->query_start('SELECT * FROM frew WHERE id = ?', q('2'));
36 is(
37    $cap,
38    qq(... : '2'\n),
39    'Repeated SQL ellided'
40 );
41
42 open $fh, '>', \$cap;
43 $pp->query_start('SELECT * FROM frew WHERE id = ?', q('3'));
44 is(
45    $cap,
46    qq(... : '3'\n),
47    'Repeated SQL ellided'
48 );
49
50 open $fh, '>', \$cap;
51 $pp->query_start('SELECT * FROM frew WHERE id = ?', q('4'));
52 is(
53    $cap,
54    qq(... : '4'\n),
55    'Repeated SQL ellided'
56 );
57
58 open $fh, '>', \$cap;
59 $pp->query_start('SELECT * FROM bar WHERE id = ?', q('4'));
60 is(
61    $cap,
62    qq(SELECT * FROM bar WHERE id = '4'\n),
63    'New SQL Logged'
64 );
65
66 open $fh, '>', \$cap;
67 $pp->query_start('SELECT * FROM frew WHERE id = ?', q('1'));
68 is(
69    $cap,
70    qq(SELECT * FROM frew WHERE id = '1'\n),
71    'New SQL Logged'
72 );
73
74 done_testing;