19 declare(strict_types=1);
21 require_once(__DIR__ .
"/../../../../../../../vendor/composer/vendor/autoload.php");
22 require_once(__DIR__ .
"/../../../Base.php");
23 require_once(__DIR__ .
"/InputTest.php");
24 require_once(__DIR__ .
"/CommonFieldRendering.php");
47 #[\PHPUnit\Framework\Attributes\DoesNotPerformAssertions] 50 $f = $this->getFieldFactory();
54 [
"lorem",
"ipsum",
"dolor"],
61 $f = $this->getFieldFactory();
64 $tags = [
"lorem",
"ipsum",
"dolor",];
65 $tag =
$f->tag($label, $tags, $byline)->withNameFrom($this->name_source);
66 $expected = $this->getFormWrappedHtml(
70 <div class="c-field-tag__wrapper"> 71 <input id="id_1" name="name_0" class="c-field-tag" value=""/> 78 $this->assertEquals($expected, $this->render($tag));
83 $f = $this->getFieldFactory();
84 $tag =
$f->tag(
'label', [],
null)->withNameFrom($this->name_source);
86 $this->testWithError($tag);
87 $this->testWithNoByline($tag);
88 $this->testWithRequired($tag);
89 $this->testWithDisabled($tag);
90 $this->testWithAdditionalOnloadCodeRendersId($tag);
93 public function testValueRequired():
void 95 $f = $this->getFieldFactory();
98 $tags = [
"lorem",
"ipsum",
"dolor",];
100 $tag =
$f->tag($label, $tags)->withNameFrom($this->name_source)->withRequired(
true);
102 $raw_value1 =
"lorem,ipsum";
103 $expected_result = [
'lorem',
'ipsum'];
104 $tag1 = $tag->withInput(
new DefInputData([$name => $raw_value1]));
105 $value1 = $tag1->getContent();
106 $this->assertTrue($value1->isOk());
107 $value = $value1->value();
108 $this->assertEquals($expected_result, $value);
111 public function testEmptyStringAsInputLeadToException():
void 113 $f = $this->getFieldFactory();
116 $tags = [
"lorem",
"ipsum",
"dolor",];
118 $tag =
$f->tag($label, $tags)->withNameFrom($this->name_source)->withRequired(
true);
120 $tag2 = $tag->withInput(
new DefInputData([$name =>
'']));
121 $result = $tag2->getContent();
122 $this->assertFalse($result->isOk());
127 $this->assertInstanceOf(
'ILIAS\Data\NotOKException', $e);
131 public function testStringAsInputAsRequired():
void 133 $f = $this->getFieldFactory();
136 $tags = [
"lorem",
"ipsum",
"dolor",];
138 $tag =
$f->tag($label, $tags)->withNameFrom($this->name_source)->withRequired(
true);
140 $tag2 = $tag->withInput(
new DefInputData([$name =>
'test']));
141 $result = $tag2->getContent();
142 $this->assertTrue($result->isOk());
143 $this->assertEquals([
'test'], $result->value());
148 $f = $this->getFieldFactory();
151 $tags = [
"lorem",
"ipsum",
"dolor",];
153 $tag =
$f->tag($label, $tags)->withNameFrom($this->name_source)->withRequired(
true);
155 $value2 = $tag2->getContent();
156 $this->assertTrue($value2->isError());
161 $this->markTestSkipped(
"This is supposed to work, but currently does not.");
163 $f = $this->getFieldFactory();
164 $tags = [
"lorem",
"ipsum",
"dolor",];
165 $tag =
$f->tag(
"label", $tags)->withUserCreatedTagsAllowed(
false)->withNameFrom($this->name_source);
167 $tag1 = $tag->withInput(
169 [
"name_0" =>
"lorem,ipsum"]
172 $value1 = $tag1->getContent();
173 $this->assertTrue($value1->isOk());
174 $value = $value1->value();
180 $tag1 = $tag->withInput(
182 [
"name_0" =>
"conseptetuer,ipsum"]
185 $value1 = $tag1->getContent();
186 $this->assertTrue($value1->isError());
191 $f = $this->getFieldFactory();
193 $tag =
$f->tag(
"label", [])->withMaxTags(3)->withNameFrom($this->name_source)->withInput(
196 $value = $tag->getContent();
197 $this->assertTrue($value->isOk());
202 $f = $this->getFieldFactory();
204 $this->expectException(InvalidArgumentException::class);
205 $f->tag(
"label", [])->withMaxTags(2)->withNameFrom($this->name_source)->withInput(
207 [
"name_0" =>
"lorem,ipsum,dolor"]
214 $f = $this->getFieldFactory();
216 $tag =
$f->tag(
"label", [])->withTagMaxLength(10)->withNameFrom($this->name_source)->withInput(
219 $value = $tag->getContent();
220 $this->assertTrue($value->isOk());
225 $f = $this->getFieldFactory();
227 $this->expectException(InvalidArgumentException::class);
228 $f->tag(
"label", [])->withTagMaxLength(2)->withNameFrom($this->name_source)->withInput(
230 [
"name_0" =>
"lorem,ipsum,dolor"]
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null