From 2aeabcad2d2e278acd1d84c7f5982abc353b4ae8 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 22 Oct 2024 18:00:16 +0200 Subject: [PATCH] Container::addEmail(): added $maxLength=255 [Closes #303] --- src/Forms/Container.php | 8 ++++++-- tests/Forms/Controls.TextInput.render.phpt | 12 ++++++++++++ tests/Forms/expected/Forms.renderer.1.expect | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Forms/Container.php b/src/Forms/Container.php index 103adfeb3..ceb812614 100644 --- a/src/Forms/Container.php +++ b/src/Forms/Container.php @@ -354,9 +354,13 @@ public function addTextArea( /** * Adds input for email. */ - public function addEmail(string $name, string|Stringable|null $label = null): Controls\TextInput + public function addEmail( + string $name, + string|Stringable|null $label = null, + int $maxLength = 255, + ): Controls\TextInput { - return $this[$name] = (new Controls\TextInput($label)) + return $this[$name] = (new Controls\TextInput($label, $maxLength)) ->addRule(Form::Email); } diff --git a/tests/Forms/Controls.TextInput.render.phpt b/tests/Forms/Controls.TextInput.render.phpt index 9e9800fbb..4e7557c19 100644 --- a/tests/Forms/Controls.TextInput.render.phpt +++ b/tests/Forms/Controls.TextInput.render.phpt @@ -258,3 +258,15 @@ test('addFilter() & rules', function () { Assert::same('', (string) $input->getControl()); }); + + +test('addEmail', function () { + $form = new Form; + $input = $form->addEmail('email', 'Label'); + + Assert::type(Html::class, $input->getLabel()); + Assert::same('', (string) $input->getLabel()); + + Assert::type(Html::class, $input->getControl()); + Assert::same('', (string) $input->getControl()); +}); diff --git a/tests/Forms/expected/Forms.renderer.1.expect b/tests/Forms/expected/Forms.renderer.1.expect index 8b0082a2e..4f6276143 100644 --- a/tests/Forms/expected/Forms.renderer.1.expect +++ b/tests/Forms/expected/Forms.renderer.1.expect @@ -27,7 +27,7 @@ - +