Merge 'trunk' into 'test_refactor'
Peter Rabbitson [Fri, 18 Sep 2009 11:05:39 +0000 (11:05 +0000)]
r7528@Thesaurus (orig r7525):  ribasushi | 2009-09-03 21:41:56 +0200
 r6207@Thesaurus (orig r6206):  nigel | 2009-05-11 15:10:44 +0200
 New branch for -bool operator integration
 r6208@Thesaurus (orig r6207):  nigel | 2009-05-11 15:38:52 +0200
 Added -bool/-not_bool operators - required some refactoring
 r6209@Thesaurus (orig r6208):  nigel | 2009-05-11 15:39:33 +0200
 Imported POD/POD::Coverage tests
 r6212@Thesaurus (orig r6211):  nigel | 2009-05-11 21:23:01 +0200
 Made unary_ops a direct equivalent of special_ops with supporting documentation.

 r6298@Thesaurus (orig r6297):  nigel | 2009-05-18 17:00:52 +0200
 Doc typo fix
 r7352@Thesaurus (orig r7349):  nigel | 2009-08-20 11:55:53 +0200
 Reduced regex munging of operators and streamlined backcompat syntax implementation.

 r7527@Thesaurus (orig r7524):  ribasushi | 2009-09-03 21:41:47 +0200
 Final cleanups

r7556@Thesaurus (orig r7553):  nigel | 2009-09-04 16:34:55 +0200
Extended -bool handling to handle more types of parameters
r7557@Thesaurus (orig r7554):  nigel | 2009-09-04 16:36:20 +0200
Removed debugging code accidently added
r7558@Thesaurus (orig r7555):  ribasushi | 2009-09-04 17:13:57 +0200
Fix Tester to deal properly with NOT and single parenthesized expressions
r7559@Thesaurus (orig r7556):  ribasushi | 2009-09-04 17:19:05 +0200
Release 1.58
r7599@Thesaurus (orig r7596):  nigel | 2009-09-07 15:36:40 +0200
Documentation tweak on how you handle booleans
r7672@Thesaurus (orig r7661):  ribasushi | 2009-09-15 06:54:36 +0200
Fix some warnings

1  2 
t/10test.t

diff --combined t/10test.t
@@@ -136,6 -136,30 +136,30 @@@ my @sql_tests = 
          ]
        },
        {
+         equal => 1,
+         statements => [
+           q/SELECT foo FROM bar WHERE (a) AND (b = 2)/,
+           q/SELECT foo FROM bar WHERE (a AND b = 2)/,
+           q/SELECT foo FROM bar WHERE (a AND (b = 2))/,
+           q/SELECT foo FROM bar WHERE a AND (b = 2)/,
+         ]
+       },
+       {
+         equal => 1,
+         statements => [
+           q/SELECT foo FROM bar WHERE ((NOT a) AND b = 2)/,
+           q/SELECT foo FROM bar WHERE (NOT a) AND (b = 2)/,
+           q/SELECT foo FROM bar WHERE (NOT (a)) AND b = 2/,
+         ],
+       },
+       {
+         equal => 0,
+         statements => [
+           q/SELECT foo FROM bar WHERE NOT a AND (b = 2)/,
+           q/SELECT foo FROM bar WHERE (NOT a) AND (b = 2)/,
+         ]
+       },
+       {
          equal => 0,
          parenthesis_significant => 1,
          statements => [
            q/SELECT * FROM (SELECT * FROM bar WHERE ((b = 1) AND (c = 10))) AS foo WHERE (a = 2)/,
          ]
        },
 +      {
 +       equal => 0,
 +       statements => [
 +          'SELECT a,b,c FROM foo',
 +          'SELECT a,c,b FROM foo',
 +          'SELECT b,a,c FROM foo',
 +          'SELECT b,c,a FROM foo',
 +          'SELECT c,a,b FROM foo',
 +          'SELECT c,b,a FROM foo',
 +       ]
 +      },
 +      {
 +       equal => 0,
 +       statements => [
 +          'SELECT count(*) FROM foo',
 +          'SELECT count(a) FROM foo',
 +          'SELECT count(1) FROM foo',
 +       ]
 +      },
 +      {
 +       equal => 0,
 +       statements => [
 +          'SELECT * FROM foo WHERE a IN (1,2,3)',
 +          'SELECT * FROM foo WHERE a IN (1,3,2)',
 +          'SELECT * FROM foo WHERE a IN (2,1,3)',
 +          'SELECT * FROM foo WHERE a IN (2,3,1)',
 +          'SELECT * FROM foo WHERE a IN (3,1,2)',
 +          'SELECT * FROM foo WHERE a IN (3,2,1)',
 +       ]
 +      },
  );
  
  my @bind_tests = (