/**
* 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'));
}