Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. BrowserKitDriver.php

function BrowserKitDriver::getFormNode

Parameters

\DOMElement $element:

Return value

\DOMElement

Throws

DriverException if the form node cannot be found

2 calls to BrowserKitDriver::getFormNode()
BrowserKitDriver::getFormField in vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php
Returns form field from XPath query.
BrowserKitDriver::resetForm in vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php

File

vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php, line 648

Class

BrowserKitDriver
Symfony BrowserKit driver.

Namespace

Behat\Mink\Driver

Code

private function getFormNode(\DOMElement $element) : \DOMElement {
    if ($element->hasAttribute('form')) {
        $formId = $element->getAttribute('form');
        \assert($element->ownerDocument !== null);
        $formNode = $element->ownerDocument
            ->getElementById($formId);
        if (null === $formNode || 'form' !== $formNode->nodeName) {
            throw new DriverException(sprintf('The selected node has an invalid form attribute (%s).', $formId));
        }
        return $formNode;
    }
    $formNode = $element;
    do {
        // use the ancestor form element
        if (null === ($formNode = $formNode->parentNode)) {
            throw new DriverException('The selected node does not have a form ancestor.');
        }
    } while ('form' !== $formNode->nodeName);
    \assert($formNode instanceof \DOMElement);
    return $formNode;
}
RSS feed
Powered by Drupal