19declare(strict_types=1);
21require_once(__DIR__ .
"/../../../../../../../vendor/composer/vendor/autoload.php");
22require_once(__DIR__ .
"/../../../Base.php");
23require_once(__DIR__ .
"/InputTest.php");
24require_once(__DIR__ .
"/CommonFieldRendering.php");
35 use CommonFieldRendering;
46 $f = $this->getFieldFactory();
48 $numeric =
$f->numeric(
"label",
"byline");
51 $this->assertInstanceOf(Field\Numeric::class, $numeric);
57 $f = $this->getFieldFactory();
60 $numeric =
$f->numeric($label, $byline)->withNameFrom($this->name_source);
62 $expected = $this->getFormWrappedHtml(
63 'numeric-field-input',
65 '<input id="id_1" type="number" step="1" name="name_0" class="c-field-number" />',
69 $this->assertEquals($expected, $this->render($numeric));
74 $f = $this->getFieldFactory();
76 $numeric =
$f->numeric($label)->withNameFrom($this->name_source);
78 $this->testWithError($numeric);
79 $this->testWithNoByline($numeric);
80 $this->testWithRequired($numeric);
81 $this->testWithDisabled($numeric);
82 $this->testWithAdditionalOnloadCodeRendersId($numeric);
87 $f = $this->getFieldFactory();
90 $numeric =
$f->numeric($label)->withValue($value)->withNameFrom($this->name_source);
92 $expected = $this->getFormWrappedHtml(
93 'numeric-field-input',
95 '<input id="id_1" type="number" step="1" value="10" name="name_0" class="c-field-number" />',
99 $this->assertEquals($expected, $this->render($numeric));
104 $f = $this->getFieldFactory();
106 $field =
$f->numeric(
'')->withNameFrom($this->name_source);
107 $field_required = $field->withRequired(
true);
109 $value = $field->withInput($post_data)->getContent();
110 $this->assertTrue($value->isOk());
111 $this->assertNull($value->value());
113 $value = $field_required->withInput($post_data)->getContent();
114 $this->assertTrue($value->isError());
118 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
122 $field_required = $field->withRequired(
true);
124 $value = $field->withInput($post_data)->getContent();
125 $this->assertTrue($value->isOk());
126 $this->assertNull($value->value());
128 $field_required = $field_required->withInput($post_data);
129 $value = $field_required->getContent();
130 $this->assertTrue($value->isError());
133 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
137 $field_required = $field->withRequired(
true);
139 $value = $field->withInput($post_data)->getContent();
140 $this->assertTrue($value->isOk());
141 $this->assertEquals(0, $value->value());
143 $value = $field_required->withInput($post_data)->getContent();
144 $this->assertTrue($value->isOK());
145 $this->assertEquals(0, $value->value());
148 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
152 $field_required = $field->withRequired(
true);
154 $value = $field->withInput($post_data)->getContent();
155 $this->assertTrue($value->isOk());
157 $this->assertEquals(1, $value->value());
159 $value = $field_required->withInput($post_data)->getContent();
160 $this->assertTrue($value->isOK());
161 $this->assertEquals(1, $value->value());
164 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
170 ->withInput($post_data)
172 $this->assertTrue($value->isOk());
173 $this->assertEquals(1.1, $value->value());
176 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
182 ->withInput($post_data)
184 $this->assertTrue($value->isOk());
185 $this->assertEquals(1.2, $value->value());
188 #[\PHPUnit\Framework\Attributes\Depends('testNullValue')]
194 ->withInput($post_data)
196 $this->assertTrue($value->isOk());
197 $this->assertEquals(2, $value->value());
198 $this->assertIsFloat($value->value());
203 $data_factory =
new DataFactory();
204 $language = $this->createMock(
ILIAS\
Language\Language::class);
207 $f = $this->getFieldFactory();
208 $field =
$f->numeric(
'')->withNameFrom($this->name_source)
210 ->withAdditionalTransformation(
211 $refinery->custom()->transformation(fn(
float $v):
float => $v + 1)
217 ->withInput($post_data)
219 $this->assertTrue($value->isOk());
220 $this->assertIsFloat($value->value());
221 $this->assertEquals(2, $value->value());
225 ->withInput($post_data)
227 $this->assertIsInt($value->value());
228 $this->assertEquals(1, $value->value());
Provides common functionality for UI tests.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.