'', ]; $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); } }