diff --git a/lib/Doctrine/ORM/Query/Expr.php b/lib/Doctrine/ORM/Query/Expr.php index 8967608e2..adcd25cda 100644 --- a/lib/Doctrine/ORM/Query/Expr.php +++ b/lib/Doctrine/ORM/Query/Expr.php @@ -562,6 +562,8 @@ class Expr { if (is_numeric($literal) && !is_string($literal)) { return (string) $literal; + } else if (is_bool($literal)) { + return $literal ? "true" : "false"; } else { return "'" . str_replace("'", "''", $literal) . "'"; } diff --git a/tests/Doctrine/Tests/ORM/Query/ExprTest.php b/tests/Doctrine/Tests/ORM/Query/ExprTest.php index ccc033b2e..265b2ba90 100644 --- a/tests/Doctrine/Tests/ORM/Query/ExprTest.php +++ b/tests/Doctrine/Tests/ORM/Query/ExprTest.php @@ -336,4 +336,13 @@ class ExprTest extends \Doctrine\Tests\OrmTestCase $orExpr = $this->_expr->orx(); $orExpr->add($this->_expr->quot(5, 2)); } -} \ No newline at end of file + + /** + * @group DDC-1683 + */ + public function testBooleanLiteral() + { + $this->assertEquals('true', $this->_expr->literal(true)); + $this->assertEquals('false', $this->_expr->literal(false)); + } +}