function ElementTest::testPlaceHolderText

Tests placeholder text for elements that support placeholders.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Form/ElementTest.php, line 35
Definition of Drupal\system\Tests\Form\ElementTest.

Class

ElementTest
Tests building and processing of core form elements.

Namespace

Drupal\system\Tests\Form

Code

function testPlaceHolderText() {
  $this
    ->drupalGet('form-test/placeholder-text');
  $expected = 'placeholder-text';

  // Test to make sure non-textarea elements have the proper placeholder text.
  foreach (array(
    'textfield',
    'tel',
    'url',
    'password',
    'email',
    'number',
  ) as $type) {
    $element = $this
      ->xpath('//input[@id=:id and @placeholder=:expected]', array(
      ':id' => 'edit-' . $type,
      ':expected' => $expected,
    ));
    $this
      ->assertTrue(!empty($element), format_string('Placeholder text placed in @type.', array(
      '@type' => $type,
    )));
  }

  // Test to make sure textarea has the proper placeholder text.
  $element = $this
    ->xpath('//textarea[@id=:id and @placeholder=:expected]', array(
    ':id' => 'edit-textarea',
    ':expected' => $expected,
  ));
  $this
    ->assertTrue(!empty($element), 'Placeholder text placed in textarea.');
}