/**
  * @test
  */
 public function renderAddsPlaceholder()
 {
     $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute', 'setContent', 'render'), array(), '', FALSE);
     $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('placeholder', 'SomePlaceholder');
     $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('type', 'text');
     $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('name', 'NameOfTextfield');
     $mockTagBuilder->expects($this->once())->method('render');
     $this->viewHelper->_set('tag', $mockTagBuilder);
     $arguments = array('name' => 'NameOfTextfield', 'placeholder' => 'SomePlaceholder');
     $this->viewHelper->setArguments($arguments);
     $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
     $this->viewHelper->initialize();
     $this->viewHelper->render();
 }
 /**
  * @test
  */
 public function renderCorrectlySetsRequiredAttribute()
 {
     $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('addAttribute', 'setContent', 'render'), array(), '', false);
     $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('type', 'text');
     $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('name', 'NameOfTextfield');
     $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextfield');
     $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('value', 'Current value');
     $mockTagBuilder->expects($this->at(3))->method('addAttribute')->with('required', 'required');
     $mockTagBuilder->expects($this->once())->method('render');
     $this->viewHelper->_set('tag', $mockTagBuilder);
     $arguments = array('name' => 'NameOfTextfield', 'value' => 'Current value');
     $this->viewHelper->setArguments($arguments);
     $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode());
     $this->viewHelper->initialize();
     $this->viewHelper->render(true);
 }
    /**
     * @param boolean $required If the field is required or not
     * @param string $type The field type, e.g. "text", "email", "url" etc.
     * @param integer $sliderMin
     * @param integer $sliderMax
     * @param integer $sliderStep
     *
     * @return string
     */
    public function render($required = null, $type = 'text', $sliderMin = 0, $sliderMax = 10, $sliderStep = 1)
    {
        $inputString = parent::render($required, $type);
        $id = $this->arguments['id'];
        if (empty($id)) {
            return 'Please add an id to the slider';
        }
        $value = $sliderMin;
        if ($this->getValue() > $value) {
            $value = $this->getValue();
        }
        $sliderElementTemplate = '<div class="slider-element-wrap">%s<div class="slider-bar-wrap"><div class="slider-element" id="slider-' . $id . '"></div></div><div class="slider-input-wrap">%s</div></div>';
        $javascriptCode = '<script type="text/javascript">
$(function() {
	if (jQuery.ui) {
		jQuery("#slider-' . $id . '").slider({
			range: "min",
			min: ' . $sliderMin . ',
			max: ' . $sliderMax . ',
			step: ' . $sliderStep . ',
			value: ' . $value . ',
			slide: function(event, ui) {
				jQuery(ui.handle).closest(".slider-element-wrap").find("input").val(ui.value);
			}
		});

		jQuery("#' . $id . '").val(' . $value . ').live("keyup", function() {
			if (' . $sliderMin . ' <= this.value && this.value <= ' . $sliderMax . ') {
				jQuery(this).closest(".slider-element-wrap").find(".slider-element").slider("value", this.value);
			}
		});
	}
});
</script>';
        return sprintf($sliderElementTemplate, $javascriptCode, $inputString);
    }
 /**
  * Renders the treeSelector.
  *
  * @param boolean $required If the field is required or not
  * @return string
  * @api
  */
 public function render($required = null)
 {
     $formField = parent::render($required, 'hidden', null);
     if (!$this->nodes) {
         $this->nodes = $this->getTreeNodes();
     }
     $treeDiv = $this->getTreeDiv();
     $treeJS = $this->getTreeJS($this->nodes);
     return $formField . $treeDiv . $treeJS;
 }