X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=vendor%2Fdoctrine%2Fdbal%2Ftests%2FDoctrine%2FTests%2FDBAL%2FQuery%2FExpression%2FCompositeExpressionTest.php;fp=vendor%2Fdoctrine%2Fdbal%2Ftests%2FDoctrine%2FTests%2FDBAL%2FQuery%2FExpression%2FCompositeExpressionTest.php;h=99396598f26458b9b26fbfb2b8004c1e19e2c723;hb=8b04b2d11798dee4f3e1358e4f43e97a6df851f6;hp=0000000000000000000000000000000000000000;hpb=73568cf05a785a45f94ca3f2351d9e07bf917958;p=zf2.biz%2Fapplication_blanche.git diff --git a/vendor/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression/CompositeExpressionTest.php b/vendor/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression/CompositeExpressionTest.php new file mode 100644 index 0000000..9939659 --- /dev/null +++ b/vendor/doctrine/dbal/tests/Doctrine/Tests/DBAL/Query/Expression/CompositeExpressionTest.php @@ -0,0 +1,82 @@ +assertEquals(1, count($expr)); + + $expr->add('u.group_id = 2'); + + $this->assertEquals(2, count($expr)); + } + + /** + * @dataProvider provideDataForConvertToString + */ + public function testCompositeUsageAndGeneration($type, $parts, $expects) + { + $expr = new CompositeExpression($type, $parts); + + $this->assertEquals($expects, (string) $expr); + } + + public function provideDataForConvertToString() + { + return array( + array( + CompositeExpression::TYPE_AND, + array('u.user = 1'), + 'u.user = 1' + ), + array( + CompositeExpression::TYPE_AND, + array('u.user = 1', 'u.group_id = 1'), + '(u.user = 1) AND (u.group_id = 1)' + ), + array( + CompositeExpression::TYPE_OR, + array('u.user = 1'), + 'u.user = 1' + ), + array( + CompositeExpression::TYPE_OR, + array('u.group_id = 1', 'u.group_id = 2'), + '(u.group_id = 1) OR (u.group_id = 2)' + ), + array( + CompositeExpression::TYPE_AND, + array( + 'u.user = 1', + new CompositeExpression( + CompositeExpression::TYPE_OR, + array('u.group_id = 1', 'u.group_id = 2') + ) + ), + '(u.user = 1) AND ((u.group_id = 1) OR (u.group_id = 2))' + ), + array( + CompositeExpression::TYPE_OR, + array( + 'u.group_id = 1', + new CompositeExpression( + CompositeExpression::TYPE_AND, + array('u.user = 1', 'u.group_id = 2') + ) + ), + '(u.group_id = 1) OR ((u.user = 1) AND (u.group_id = 2))' + ), + ); + } +} \ No newline at end of file