From 0bf7429bb96d40d9e33c1d26bd62cc05d8e42496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Slischka?= Date: Wed, 26 Jul 2023 14:02:40 +0200 Subject: [PATCH 1/2] minor --- composer.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/composer.json b/composer.json index 526de4a..9338bf4 100644 --- a/composer.json +++ b/composer.json @@ -23,9 +23,6 @@ "contributte/phpstan": "^0.1", "webchemistry/testing-helpers": "~2.0.0" }, - "conflict": { - "latte/latte": "<3.0.0" - }, "autoload": { "psr-4": { "Contributte\\FormMultiplier\\": "src" From fa62b76be635173b85220bdd7bad8a5c500c9b15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Slischka?= Date: Fri, 24 Jul 2026 12:06:41 +0200 Subject: [PATCH 2/2] Added Nette Forms 3.3 compatibility --- composer.json | 4 ++-- src/Multiplier.php | 6 +++++- tests/Cases/Unit/MultiplierTest.phpt | 8 ++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 067d7ab..3c93121 100644 --- a/composer.json +++ b/composer.json @@ -25,9 +25,9 @@ "contributte/qa": "~0.4.0", "contributte/tester": "~0.4.0", "latte/latte": "^3.0.0", - "nette/application": "^3.2.0", + "nette/application": ">=3.2.0 <3.3.0", "nette/di": "^3.2.0", - "webchemistry/testing-helpers": "^4.0.0" + "webchemistry/testing-helpers": "^4.1.1" }, "conflict": { "latte/latte": "<3.0.0", diff --git a/src/Multiplier.php b/src/Multiplier.php index 8be1d79..180e506 100644 --- a/src/Multiplier.php +++ b/src/Multiplier.php @@ -4,6 +4,7 @@ use Contributte\FormMultiplier\Buttons\CreateButton; use Contributte\FormMultiplier\Buttons\RemoveButton; +use Generator; use Iterator; use Nette\ComponentModel\IComponent; use Nette\Forms\Container; @@ -306,8 +307,11 @@ public function getValues(string|object|bool|null $returnType = null, ?array $co public function getControls(): Iterator { $this->createCopies(); + $controls = parent::getControls(); - return parent::getControls(); + return (static function () use ($controls): Generator { + yield from $controls; + })(); } /** diff --git a/tests/Cases/Unit/MultiplierTest.phpt b/tests/Cases/Unit/MultiplierTest.phpt index fa2dbcb..026b23d 100644 --- a/tests/Cases/Unit/MultiplierTest.phpt +++ b/tests/Cases/Unit/MultiplierTest.phpt @@ -4,6 +4,7 @@ namespace Tests\Cases\Unit; use Contributte\FormMultiplier\Multiplier; use Contributte\Tester\Toolkit; +use Iterator; use Nette\Application\UI\Form; use Nette\Forms\Container; use Tester\Assert; @@ -15,6 +16,13 @@ require __DIR__ . '/../../bootstrap.php'; $services = new Services(); +// testGetControlsReturnsIterator +Toolkit::test(function (): void { + $form = MultiplierBuilder::create()->createForm(); + + Assert::type(Iterator::class, $form['m']->getControls()); +}); + // testRenderBase Toolkit::test(function () use ($services): void { $onCreateParams = [];