/** * @test * @dataProvider renderDataProvider() * @param string $expectedResult * @param array $flashMessages * @param string $class * @return void */ public function renderTests($expectedResult, array $flashMessages = [], $class = null) { $this->mockFlashMessageContainer->expects($this->once())->method('getMessagesAndFlush')->will($this->returnValue($flashMessages)); $this->mockTagBuilder->expects($this->once())->method('setContent')->with($expectedResult); $this->viewHelper->_set('arguments', ['class' => $class]); $this->viewHelper->render(); }
/** * Renders hidden form fields for referrer information about * the current request. * * @return string Hidden fields with referrer information */ protected function renderHiddenReferrerFields() { $tagBuilder = new TagBuilder('input'); $tagBuilder->addAttribute('type', 'hidden'); $tagBuilder->addAttribute('name', $this->prefixFieldName('__state')); $serializedFormState = base64_encode(serialize($this->arguments['object']->getFormState())); $tagBuilder->addAttribute('value', $this->hashService->appendHmac($serializedFormState)); return $tagBuilder->render(); }
/** * Renders an option tag * * @param string $value * @param null | string $label * @param bool $selected * @return string */ private function renderOptionTag($value, $label = null, $selected = false) { $option = new TagBuilder("option"); $option->addAttribute('value', $value); $option->setContent(!is_null($label) ? $label : $value); if ($selected) { $option->addAttribute('selected', 'selected'); } return $option->render(); }
public function render() { $this->tag->addAttribute('action', $this->arguments['action']); $hiddenFields = array(); /** @var FormField $hiddenField */ foreach ($this->arguments['form']->getHiddenFields() as $hiddenField) { $tag = new TagBuilder('input'); $tag->addAttributes(['type' => 'hidden', 'name' => $hiddenField->getName(), 'value' => $hiddenField->getValueOrDefault()]); $hiddenFields[] = $tag->render(); } $content = implode(chr(10), $hiddenFields) . chr(10) . $this->renderChildren(); $this->tag->setContent($content); $output = $this->tag->render(); return $output; }
/** * Handles additional arguments, sorting out any data- * prefixed tag attributes and assigning them. Then passes * the unassigned arguments to the parent class' method, * which in the default implementation will throw an error * about "undeclared argument used". * * @param array $arguments * @return void */ public function handleAdditionalArguments(array $arguments) { $unassigned = array(); foreach ($arguments as $argumentName => $argumentValue) { if (strpos($argumentName, 'data-') === 0) { $this->tag->addAttribute($argumentName, $argumentValue); } else { $unassigned[$argumentName] = $argumentValue; } } parent::handleAdditionalArguments($unassigned); }
/** * @test */ public function callingRenderReturnsTagBuildersRenderResult() { $this->tagBuilder->expects($this->once())->method('render')->will($this->returnValue('renderingResult')); $this->assertSame('renderingResult', $this->viewHelper->render('path')); }
/** * @test */ public function tagIsNotRenderedIfTagNameIsEmpty() { $tagBuilder = new TagBuilder('foo'); $tagBuilder->setTagName(''); $this->assertEquals('', $tagBuilder->render()); }