'', ]; $this->templates = new StringTemplate($templates); } /** * Test render in a simple case. * * @return void */ public function testRenderSimple() { $text = new Text($this->templates); $result = $text->render(['name' => 'my_input']); $expected = [ 'input' => ['type' => 'text', 'name' => 'my_input'] ]; $this->assertTags($result, $expected); } /** * Test render with custom type * * @return void */ public function testRenderType() { $text = new Text($this->templates); $data = [ 'name' => 'my_input', 'type' => 'email', ]; $result = $text->render($data); $expected = [ 'input' => ['type' => 'email', 'name' => 'my_input'] ]; $this->assertTags($result, $expected); } /** * Test render with a value * * @return void */ public function testRenderWithValue() { $text = new Text($this->templates); $data = [ 'name' => 'my_input', 'type' => 'email', 'val' => 'Some ' ]; $result = $text->render($data); $expected = [ 'input' => [ 'type' => 'email', 'name' => 'my_input', 'value' => 'Some <value>' ] ]; $this->assertTags($result, $expected); } /** * Test render with additional attributes. * * @return void */ public function testRenderAttributes() { $text = new Text($this->templates); $data = [ 'name' => 'my_input', 'type' => 'email', 'class' => 'form-control', 'required' => true ]; $result = $text->render($data); $expected = [ 'input' => [ 'type' => 'email', 'name' => 'my_input', 'class' => 'form-control', 'required' => 'required', ] ]; $this->assertTags($result, $expected); } }