You are here

class ViewsFormTest in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/views/tests/src/Functional/Plugin/ViewsFormTest.php \Drupal\Tests\views\Functional\Plugin\ViewsFormTest
  2. 9 core/modules/views/tests/src/Functional/Plugin/ViewsFormTest.php \Drupal\Tests\views\Functional\Plugin\ViewsFormTest

Tests Views forms functionality.

@group views

Hierarchy

  • class \Drupal\Tests\views\Functional\Plugin\ViewsFormTest extends \Drupal\Tests\views\Functional\ViewTestBase

Expanded class hierarchy of ViewsFormTest

File

core/modules/views/tests/src/Functional/Plugin/ViewsFormTest.php, line 12

Namespace

Drupal\Tests\views\Functional\Plugin
View source
class ViewsFormTest extends ViewTestBase {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = [
    'action_bulk_test',
  ];

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * Tests the Views form wrapper.
   */
  public function testFormWrapper() {
    $this
      ->drupalGet('test_bulk_form');

    // Ensure we have the form tag on the page.
    $xpath = $this
      ->cssSelect('.views-form form');
    $this
      ->assertCount(1, $xpath, 'There is one views form on the page.');

    // Ensure we don't have nested form elements.
    $result = (bool) preg_match('#<form[^>]*?>(?!/form).*<form#s', $this
      ->getSession()
      ->getPage()
      ->getContent());
    $this
      ->assertFalse($result, 'The views form element is not nested.');

    // Test the form isn't shown when the display doesn't use fields.
    $this
      ->drupalGet('display-without-fields');

    // Ensure there's no form.
    $xpath = $this
      ->cssSelect('.views-form form');
    $this
      ->assertCount(0, $xpath);
  }

}

Members