diff --git a/library/Zend/Db/Sql/Predicate/Between.php b/library/Zend/Db/Sql/Predicate/Between.php index 89e7da9ed32..1cec72e58e7 100644 --- a/library/Zend/Db/Sql/Predicate/Between.php +++ b/library/Zend/Db/Sql/Predicate/Between.php @@ -34,10 +34,10 @@ public function __construct($identifier = null, $minValue = null, $maxValue = nu if ($identifier) { $this->setIdentifier($identifier); } - if ($minValue) { + if (!is_null($minValue)) { $this->setMinValue($minValue); } - if ($maxValue) { + if (!is_null($maxValue)) { $this->setMaxValue($maxValue); } } diff --git a/tests/ZendTest/Db/Sql/Predicate/BetweenTest.php b/tests/ZendTest/Db/Sql/Predicate/BetweenTest.php index 1ae24f6ab95..fc06628b9a9 100644 --- a/tests/ZendTest/Db/Sql/Predicate/BetweenTest.php +++ b/tests/ZendTest/Db/Sql/Predicate/BetweenTest.php @@ -48,8 +48,18 @@ public function testConstructorCanPassIdentifierMinimumAndMaximumValues() { $between = new Between('foo.bar', 1, 300); $this->assertEquals('foo.bar', $between->getIdentifier()); - $this->assertEquals(1, $between->getMinValue()); - $this->assertEquals(300, $between->getMaxValue()); + $this->assertSame(1, $between->getMinValue()); + $this->assertSame(300, $between->getMaxValue()); + + $between = new Between('foo.bar', 0, 1); + $this->assertEquals('foo.bar', $between->getIdentifier()); + $this->assertSame(0, $between->getMinValue()); + $this->assertSame(1, $between->getMaxValue()); + + $between = new Between('foo.bar', -1, 0); + $this->assertEquals('foo.bar', $between->getIdentifier()); + $this->assertSame(-1, $between->getMinValue()); + $this->assertSame(0, $between->getMaxValue()); } /** @@ -117,4 +127,5 @@ public function testRetrievingWherePartsReturnsSpecificationArrayOfIdentifierAnd )); $this->assertEquals($expected, $this->between->getExpressionData()); } + }