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