public function render()
{
$name = $this->getName();
$this->registerFieldNameForFormTokenGeneration($name);
$this->tag->forceClosingTag(true);
$this->tag->addAttribute('name', $name);
$this->tag->setContent(htmlspecialchars($this->getValueAttribute()));
if ($this->hasArgument('required') && $this->arguments['required'] === true) {
$this->tag->addAttribute('required', 'required');
}
$this->addAdditionalIdentityPropertiesIfNeeded();
$this->setErrorClassAttribute();
return $this->tag->render();
}
/** * @test */ public function renderEscapesTextareaContent() { $mockTagBuilder = $this->createMock(TagBuilder::class); $mockTagBuilder->expects($this->once())->method('addAttribute')->with('name', 'NameOfTextarea'); $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextarea'); $mockTagBuilder->expects($this->once())->method('setContent')->with('some <tag> & "quotes"'); $mockTagBuilder->expects($this->once())->method('render'); $this->viewHelper->injectTagBuilder($mockTagBuilder); $arguments = array('name' => 'NameOfTextarea', 'value' => 'some <tag> & "quotes"'); $this->viewHelper->setArguments($arguments); $this->viewHelper->setViewHelperNode(new \Neos\FluidAdaptor\ViewHelpers\Fixtures\EmptySyntaxTreeNode()); $this->viewHelper->initialize(); $this->viewHelper->render(); }