diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f19b0fe..719853e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,16 +11,20 @@ jobs: strategy: matrix: - php: [8.1, 8.2, 8.3, 8.4] + php: [8.1, 8.2, 8.3, 8.4, 8.5] steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} + # this ini directive seems to be off by default in PHP 8.5 + # see https://github.com/php/php-src/issues/20279 + # enable it because codeception relies on it. + ini-values: register_argc_argv=1 - name: Validate composer.json and composer.lock run: composer validate diff --git a/src/Codeception/Lib/InnerBrowser.php b/src/Codeception/Lib/InnerBrowser.php index 20cd4f9..dc11858 100644 --- a/src/Codeception/Lib/InnerBrowser.php +++ b/src/Codeception/Lib/InnerBrowser.php @@ -1054,7 +1054,7 @@ protected function getFormFor(Crawler $node): SymfonyForm $this->fail('The selected node is not a form and does not have a form ancestor.'); } - $identifier = $form->attr('id') ?: $form->attr('action'); + $identifier = $form->attr('id') ?: $form->attr('action') ?? ''; if (!isset($this->forms[$identifier])) { $this->forms[$identifier] = $this->getFormFromCrawler($form); }