function TelephoneFieldTest::testTelephoneField

Helper function for testTelephoneField().

File

drupal/core/modules/telephone/lib/Drupal/telephone/Tests/TelephoneFieldTest.php, line 53
Contains \Drupal\telephone\TelephoneFieldTest.

Class

TelephoneFieldTest
Tests the creation of telephone fields.

Namespace

Drupal\telephone\Tests

Code

function testTelephoneField() {

  // Add the telepone field to the article content type.
  $field = array(
    'field_name' => 'field_telephone',
    'type' => 'telephone',
  );
  field_create_field($field);
  $instance = array(
    'field_name' => 'field_telephone',
    'label' => 'Telephone Number',
    'entity_type' => 'node',
    'bundle' => 'article',
  );
  field_create_instance($instance);
  entity_get_form_display('node', 'article', 'default')
    ->setComponent('field_telephone', array(
    'type' => 'telephone_default',
    'settings' => array(
      'placeholder' => '123-456-7890',
    ),
  ))
    ->save();
  entity_get_display('node', 'article', 'default')
    ->setComponent('field_telephone', array(
    'type' => 'telephone_link',
    'weight' => 1,
  ))
    ->save();

  // Display creation form.
  $this
    ->drupalGet('node/add/article');
  $this
    ->assertFieldByName("field_telephone[und][0][value]", '', 'Widget found.');
  $this
    ->assertRaw('placeholder="123-456-7890"');

  // Test basic entery of telephone field.
  $edit = array(
    "title" => $this
      ->randomName(),
    "field_telephone[und][0][value]" => "123456789",
  );
  $this
    ->drupalPost(NULL, $edit, t('Save'));
  $this
    ->assertRaw('<a href="tel:123456789">', 'A telephone link is provided on the article node page.');

  // Add number with a space in it. Need to ensure it is stripped on output.
  $edit = array(
    "title" => $this
      ->randomName(),
    "field_telephone[und][0][value]" => "1234 56789",
  );
  $this
    ->drupalPost('node/add/article', $edit, t('Save'));
  $this
    ->assertRaw('<a href="tel:123456789">', 'Telephone link is output with whitespace removed.');
}