/** * Test * * @return void */ public function testInvoke() { $model = $this->getMockForAbstractClass('Gc\\Core\\Object'); $model->setData(array('foo' => 'bar', 'bar' => 'baz')); $templatePathStack = $this->object->getView()->resolver(); $templatePathStack->addPath(__DIR__ . '/_files/views'); //With object $this->object->partialCounter = true; $return = $this->object->__invoke('partial-vars.phtml', $model); $this->object->partialCounter = false; foreach ($model->toArray() as $key => $value) { $string = sprintf('%s: %s', $key, $value); $this->assertContains($string, $return); } //With array $return = $this->object->__invoke('partial-vars.phtml', array('foo' => 'bar', 'bar' => 'baz')); foreach ($model->toArray() as $key => $value) { $string = sprintf('%s: %s', $key, $value); $this->assertContains($string, $return); } //With object $model = new stdClass(); $model->foo = 'bar'; $model->bar = 'baz'; $return = $this->object->__invoke('partial-vars.phtml', $model); foreach (get_object_vars($model) as $key => $value) { $string = sprintf('%s: %s', $key, $value); $this->assertContains($string, $return); } //With object $this->object->setObjectKey('foo'); $model = new stdClass(); $model->foo = 'bar'; $model->bar = 'baz'; $return = $this->object->__invoke('partial-obj.phtml', $model); $this->assertNotContains('No object model passed', $return); $this->assertInstanceOf('Gc\\View\\Helper\\Partial', $this->object->__invoke('')); $this->assertEquals('View Content', $this->object->__invoke('view-identifier')); $this->setExpectedException('Zend\\View\\Exception\\RuntimeException'); $this->assertFalse($this->object->__invoke('fake-view-identifier')); }