5 require_once(__DIR__ .
"/../../../../../libs/composer/vendor/autoload.php");
6 require_once(__DIR__ .
"/../../../Base.php");
7 require_once(__DIR__ .
"/InputTest.php");
10 use \ILIAS\UI\Component\Input\Field;
12 use \ILIAS\Validation;
13 use \ILIAS\Transformation;
31 $df =
new Data\Factory();
35 new Validation\
Factory($df, $this->createMock(\ilLanguage::class)),
44 $textarea =
$f->textarea(
"label",
"byline");
45 $this->assertInstanceOf(Field\Input::class, $textarea);
46 $this->assertInstanceOf(Field\Textarea::class, $textarea);
53 $textarea =
$f->textarea(
"label");
54 $this->assertInstanceOf(Field\Input::class, $textarea);
55 $this->assertInstanceOf(Field\Textarea::class, $textarea);
63 $textarea =
$f->textarea(
'label')->withMinLimit($limit);
64 $this->assertInstanceOf(Field\Input::class, $textarea);
65 $this->assertInstanceOf(Field\Textarea::class, $textarea);
66 $this->assertEquals($textarea->getMinLimit(), $limit);
74 $textarea =
$f->textarea(
'label')->withMaxLimit($limit);
75 $this->assertInstanceOf(Field\Input::class, $textarea);
76 $this->assertInstanceOf(Field\Textarea::class, $textarea);
77 $this->assertEquals($textarea->getMaxLimit(), $limit);
86 $textarea =
$f->textarea(
'label')->withMinLimit(5);
87 $this->assertTrue($textarea->isLimited());
90 $textarea =
$f->textarea(
'label')->withMaxLimit(5);
91 $this->assertTrue($textarea->isLimited());
94 $textarea =
$f->textarea(
'label')->withMinLimit(5)->withMaxLimit(20);
95 $this->assertTrue($textarea->isLimited());
98 $textarea =
$f->textarea(
'label');
99 $this->assertFalse($textarea->isLimited());
107 $textarea =
$f->textarea(
'label')->withMinLimit($limit);
108 $this->assertEquals($textarea->getMinLimit(), $limit);
116 $textarea =
$f->textarea(
'label')->withMaxLimit($limit);
117 $this->assertEquals($textarea->getMaxLimit(), $limit);
129 $textarea =
$f->textarea($label, $byline)->withNameFrom($this->name_source);
131 $expected =
"<div class=\"form-group row\">" 132 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 133 .
"<div class=\"col-sm-9\">" 134 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"\"></textarea>" 135 .
"<div id=\"textarea_feedback_\" data-maxchars=\"\"></div>" 136 .
"<div class=\"help-block\">byline</div>" 153 $byline =
"This is just a byline Min: " . $min;
154 $textarea =
$f->textarea($label, $byline)->withMinLimit($min)->withNameFrom($this->name_source);
156 $expected =
"<div class=\"form-group row\">" 157 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 158 .
"<div class=\"col-sm-9\">" 159 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"$id\"></textarea>" 160 .
"<div id=\"textarea_feedback_$id\" data-maxchars=\"\"></div>" 161 .
"<div class=\"help-block\">$byline</div>" 177 $byline =
"This is just a byline Max: " . $max;
178 $textarea =
$f->textarea($label, $byline)->withMaxLimit($max)->withNameFrom($this->name_source);
180 $expected =
"<div class=\"form-group row\">" 181 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 182 .
"<div class=\"col-sm-9\">" 183 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"$id\"></textarea>" 184 .
"<div id=\"textarea_feedback_$id\" data-maxchars=\"$max\"></div>" 185 .
"<div class=\"help-block\">$byline</div>" 202 $byline =
"This is just a byline Min: " . $min .
" Max: " . $max;
203 $textarea =
$f->textarea($label, $byline)->withMinLimit($min)->withMaxLimit($max)->withNameFrom($this->name_source);
205 $expected =
"<div class=\"form-group row\">" 206 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 207 .
"<div class=\"col-sm-9\">" 208 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"$id\"></textarea>" 209 .
"<div id=\"textarea_feedback_$id\" data-maxchars=\"$max\"></div>" 210 .
"<div class=\"help-block\">$byline</div>" 225 $value =
"Lorem ipsum dolor sit";
226 $textarea =
$f->textarea($label, $byline)->withValue($value)->withNameFrom($this->name_source);
228 $expected =
"<div class=\"form-group row\">" 229 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 230 .
"<div class=\"col-sm-9\">" 231 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"\">$value</textarea>" 232 .
"<div id=\"textarea_feedback_\" data-maxchars=\"\"></div>" 233 .
"<div class=\"help-block\">byline</div>" 248 $byline =
"This is just a byline Min: " . $min;
250 $textarea =
$f->textarea($label, $byline)->withNameFrom($this->name_source)->withError($error);
252 $expected =
"<div class=\"form-group row\">" 253 .
"<label for=\"$name\" class=\"control-label col-sm-3\">$label</label>" 254 .
"<div class=\"col-sm-9\">" 255 .
"<textarea name=\"$name\" class=\"form-control form-control-sm\" id=\"\"></textarea>" 256 .
"<div id=\"textarea_feedback_\" data-maxchars=\"\"></div>" 257 .
"<div class=\"help-block\">$byline</div>" 258 .
"<div class=\"help-block alert alert-danger\" role=\"alert\">" 259 .
"<img border=\"0\" src=\"./templates/default/images/icon_alert.svg\" alt=\"alert\" />" 260 .
"$error</div></div></div>";
263 $html = trim(preg_replace(
'/\t+/',
'', $html));
264 $expected = trim(preg_replace(
'/\t+/',
'', $expected));
265 $this->assertEquals($expected, $html);
273 ->withNameFrom($this->name_source)
276 $content =
$text->getContent();
277 $this->assertEquals(
"alert()", $content->value());
test_renderer_with_min_limit()
if(!array_key_exists('StateId', $_REQUEST)) $id
test_renderer_counter_with_value()
test_renderer_with_max_limit()
getDefaultRenderer(JavaScriptBinding $js_binding=null)
test_implements_factory_interface_without_byline()
Provides common functionality for UI tests.
test_implements_factory_interface()
assertHTMLEquals($expected_html_as_string, $html_as_string)
test_renderer_with_error()
test_renderer_with_min_and_max_limit()