'',
];
$this->templates = new StringTemplate($templates);
$this->context = $this->getMockBuilder('Cake\View\Form\ContextInterface')->getMock();
}
/**
* Test render in a simple case.
*
* @return void
*/
public function testRenderSimple()
{
$input = new FileWidget($this->templates);
$result = $input->render(['name' => 'image'], $this->context);
$expected = [
'input' => ['type' => 'file', 'name' => 'image'],
];
$this->assertHtml($expected, $result);
}
/**
* Test render with a value
*
* @return void
*/
public function testRenderAttributes()
{
$input = new FileWidget($this->templates);
$data = ['name' => 'image', 'required' => true, 'val' => 'nope'];
$result = $input->render($data, $this->context);
$expected = [
'input' => ['type' => 'file', 'required' => 'required', 'name' => 'image'],
];
$this->assertHtml($expected, $result);
}
/**
* Ensure templateVars option is hooked up.
*
* @return void
*/
public function testRenderTemplateVars()
{
$this->templates->add([
'file' => '',
]);
$input = new FileWidget($this->templates);
$data = [
'templateVars' => ['custom' => 'value'],
'name' => 'files',
];
$result = $input->render($data, $this->context);
$expected = [
'input' => [
'type' => 'file',
'name' => 'files',
'custom' => 'value'
],
];
$this->assertHtml($expected, $result);
}
}