From 4e6f7a55736f2f57f4e1552f6d92a0e588fe3819 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sat, 15 Feb 2014 20:21:40 +0700 Subject: [PATCH 1/2] Fixes #4926 --- library/Zend/Db/Sql/Insert.php | 2 +- tests/ZendTest/Db/Sql/InsertTest.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/library/Zend/Db/Sql/Insert.php b/library/Zend/Db/Sql/Insert.php index 639b6f6de65..63f94a54701 100644 --- a/library/Zend/Db/Sql/Insert.php +++ b/library/Zend/Db/Sql/Insert.php @@ -91,7 +91,7 @@ public function columns(array $columns) */ public function values(array $values, $flag = self::VALUES_SET) { - if ($values == null) { + if (!is_array($values)) { throw new Exception\InvalidArgumentException('values() expects an array of values'); } diff --git a/tests/ZendTest/Db/Sql/InsertTest.php b/tests/ZendTest/Db/Sql/InsertTest.php index 33609192541..9c6abde1011 100644 --- a/tests/ZendTest/Db/Sql/InsertTest.php +++ b/tests/ZendTest/Db/Sql/InsertTest.php @@ -72,6 +72,15 @@ public function testValues() $this->assertEquals(array('bax'), $this->readAttribute($this->insert, 'values')); } + /** + * @covers Zend\Db\Sql\Insert::values + * @group ZF2-4926 + */ + public function testEmptyArrayValues() + { + $this->insert->values(array()); + $this->assertEquals(array(), $this->readAttribute($this->insert, 'columns')); + } /** * @covers Zend\Db\Sql\Insert::prepareStatement From 8078089893524be2eb4ca3cb34fc4a1343be7332 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sat, 15 Feb 2014 21:21:31 +0700 Subject: [PATCH 2/2] fix comparison must be strict --- library/Zend/Db/Sql/Insert.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Zend/Db/Sql/Insert.php b/library/Zend/Db/Sql/Insert.php index 63f94a54701..1b22de3da1c 100644 --- a/library/Zend/Db/Sql/Insert.php +++ b/library/Zend/Db/Sql/Insert.php @@ -91,7 +91,7 @@ public function columns(array $columns) */ public function values(array $values, $flag = self::VALUES_SET) { - if (!is_array($values)) { + if ($values === null) { throw new Exception\InvalidArgumentException('values() expects an array of values'); }