diff --git a/composer.json b/composer.json index 88bb6f3..ff4b1b4 100644 --- a/composer.json +++ b/composer.json @@ -21,15 +21,15 @@ "ext-dom": "*", "ext-json": "*", "ext-mbstring": "*", - "codeception/codeception": "^4.0 | 4.*@dev", - "symfony/browser-kit": ">=4.4 <6.0", - "symfony/dom-crawler": ">=4.4 <6.0" + "codeception/codeception": "^4.1 | 4.*@dev", + "symfony/browser-kit": "^4.4 | ^5.4 | ^6.0", + "symfony/dom-crawler": "^4.4 | ^5.4 | ^6.0" }, "require-dev": { "codeception/util-universalframework": "dev-master" }, "conflict": { - "codeception/codeception": "<4.0" + "codeception/codeception": "<4.1" }, "autoload": { "classmap": [ diff --git a/src/Codeception/Lib/InnerBrowser.php b/src/Codeception/Lib/InnerBrowser.php index 181f5f0..51e7aa4 100644 --- a/src/Codeception/Lib/InnerBrowser.php +++ b/src/Codeception/Lib/InnerBrowser.php @@ -1013,7 +1013,7 @@ private function getFormFromCrawler(Crawler $form): SymfonyForm $formId = $form->attr('id'); if ($formId !== null) { $fakeForm = $fakeDom->firstChild; - $topParent = $form->parents()->last(); + $topParent = $form->ancestors()->last(); $fieldsByFormAttribute = $topParent->filter( sprintf('input[form=%s],select[form=%s],textarea[form=%s]', $formId, $formId, $formId) ); @@ -1044,7 +1044,7 @@ protected function getFormFor(Crawler $node): SymfonyForm if (strcasecmp($node->first()->getNode(0)->tagName, 'form') === 0) { $form = $node->first(); } else { - $form = $node->parents()->filter('form')->first(); + $form = $node->ancestors()->filter('form')->first(); } if (!$form) {