diff --git a/lib/Cake/Test/Case/View/HelperTest.php b/lib/Cake/Test/Case/View/HelperTest.php index 9f136520963..11335da1732 100644 --- a/lib/Cake/Test/Case/View/HelperTest.php +++ b/lib/Cake/Test/Case/View/HelperTest.php @@ -255,7 +255,7 @@ public function testSetEntity($entity, $expected) { */ public function testSetEntityScoped() { $this->Helper->setEntity('HelperTestPost', true); - $this->assertEquals(array('HelperTestPost'), $this->Helper->entity()); + $this->assertEquals(array('HelperTestPost'), $this->Helper->entity()); $this->Helper->setEntity('id'); $expected = array('HelperTestPost', 'id'); @@ -310,6 +310,19 @@ public function testSetEntityAssociated() { $this->assertEquals('HelperTestComment', $this->Helper->model()); } +/** + * Test creating saveMany() compatible entities + * + * @return void + */ + public function testSetEntitySaveMany() { + $this->Helper->setEntity('HelperTestPost', true); + + $this->Helper->setEntity('0.HelperTestPost.id'); + $expected = array('0', 'HelperTestPost', 'id'); + $this->assertEquals($expected, $this->Helper->entity()); + } + /** * Test that setEntity doesn't make CamelCase fields that are not associations an * associated model. diff --git a/lib/Cake/View/Helper.php b/lib/Cake/View/Helper.php index c2219be89d2..91fafae3bb5 100644 --- a/lib/Cake/View/Helper.php +++ b/lib/Cake/View/Helper.php @@ -444,9 +444,9 @@ public function setEntity($entity, $setScope = false) { $entity = $this->_modelScope . '.' . $entity; } - // 0.name, 0.created.month style inputs. + // 0.name, 0.created.month style inputs. Excludes inputs with the modelScope in them. if ( - $count >= 2 && is_numeric($parts[0]) && !is_numeric($parts[1]) && $this->_modelScope + $count >= 2 && is_numeric($parts[0]) && !is_numeric($parts[1]) && $this->_modelScope && strpos($entity, $this->_modelScope) === false ) { $entity = $this->_modelScope . '.' . $entity; }