'',
];
$this->templates = new StringTemplate($templates);
$this->context = $this->getMockBuilder('Cake\View\Form\ContextInterface')->getMock();
}
/**
* test render
*
* @return void
*/
public function testRender()
{
$label = new LabelWidget($this->templates);
$data = [
'text' => 'My text',
];
$result = $label->render($data, $this->context);
$expected = [
'label' => [],
'My text',
'/label'
];
$this->assertHtml($expected, $result);
}
/**
* test render escape
*
* @return void
*/
public function testRenderEscape()
{
$label = new LabelWidget($this->templates);
$data = [
'text' => 'My > text',
'for' => 'Some > value',
'escape' => false,
];
$result = $label->render($data, $this->context);
$expected = [
'label' => ['for' => 'Some > value'],
'My > text',
'/label'
];
$this->assertHtml($expected, $result);
}
/**
* test render escape
*
* @return void
*/
public function testRenderAttributes()
{
$label = new LabelWidget($this->templates);
$data = [
'text' => 'My > text',
'for' => 'some-id',
'id' => 'some-id',
'data-foo' => 'value',
];
$result = $label->render($data, $this->context);
$expected = [
'label' => ['id' => 'some-id', 'data-foo' => 'value', 'for' => 'some-id'],
'My > text',
'/label'
];
$this->assertHtml($expected, $result);
}
/**
* Ensure templateVars option is hooked up.
*
* @return void
*/
public function testRenderTemplateVars()
{
$this->templates->add([
'label' => '',
]);
$label = new LabelWidget($this->templates);
$data = [
'templateVars' => ['custom' => 'value'],
'text' => 'Label Text',
];
$result = $label->render($data, $this->context);
$expected = [
'label' => ['custom' => 'value'],
'Label Text',
'/label'
];
$this->assertHtml($expected, $result);
}
}