public function viewHelperHandlesPackageKeyAttributeCorrectly()
{
$this->mockSecurityContext->expects($this->any())->method('hasRole')->will($this->returnCallback(function ($role) {
switch ($role) {
case 'Neos.FluidAdaptor:Administrator':
return true;
case 'Neos.FluidAdaptor:User':
return false;
}
}));
$this->mockViewHelper->expects($this->any())->method('renderThenChild')->will($this->returnValue('true'));
$this->mockViewHelper->expects($this->any())->method('renderElseChild')->will($this->returnValue('false'));
$arguments = ['role' => new Role('Neos.FluidAdaptor:Administrator'), 'account' => null];
$this->mockViewHelper->setArguments($arguments);
$actualResult = $this->mockViewHelper->render();
$this->assertEquals('true', $actualResult, 'Full role identifier in role argument is accepted');
$arguments = ['role' => new Role('Neos.FluidAdaptor:User'), 'packageKey' => 'Neos.FluidAdaptor', 'account' => null];
$this->mockViewHelper->setArguments($arguments);
$actualResult = $this->mockViewHelper->render();
$this->assertEquals('false', $actualResult);
}