Skip to content

Commit 258edd1

Browse files
drobek94martin.sedlacek
authored andcommitted
Validator: added support for enums (#282)
Co-authored-by: martin.sedlacek <martin.sedlacek@motv.eu>
1 parent 3a47230 commit 258edd1

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
/**
4+
* Test: Nette\Forms\Controls\BaseControl & enum
5+
* @phpVersion 8.1
6+
*/
7+
8+
declare(strict_types=1);
9+
10+
use Nette\Forms\Form;
11+
use Nette\Forms\Validator;
12+
use Tester\Assert;
13+
14+
require __DIR__ . '/../bootstrap.php';
15+
16+
17+
enum TestEnum: string
18+
{
19+
case CASE_1 = 'case 1';
20+
case CASE_2 = 'case 2';
21+
}
22+
23+
24+
setUp(function () {
25+
ob_start();
26+
Form::initialize(true);
27+
});
28+
29+
30+
test('validators for enums', function () {
31+
$form = new Form;
32+
$input = $form->addText('text');
33+
$input->setValue(TestEnum::CASE_1->value);
34+
35+
Assert::true(Validator::validateEqual($input, TestEnum::CASE_1));
36+
Assert::true(Validator::validateEqual($input, 'case 1'));
37+
Assert::false(Validator::validateEqual($input, TestEnum::CASE_2));
38+
Assert::false(Validator::validateEqual($input, 1));
39+
});

0 commit comments

Comments
 (0)