/**
  * @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();
 }
Beispiel #2
0
 /**
  * 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();
 }
Beispiel #3
0
 /**
  * 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();
 }
Beispiel #4
0
 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'));
 }
Beispiel #7
0
 /**
  * @test
  */
 public function tagIsNotRenderedIfTagNameIsEmpty()
 {
     $tagBuilder = new TagBuilder('foo');
     $tagBuilder->setTagName('');
     $this->assertEquals('', $tagBuilder->render());
 }