You are here

function TelephoneFieldTest::testTelephoneField in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/telephone/src/Tests/TelephoneFieldTest.php \Drupal\telephone\Tests\TelephoneFieldTest::testTelephoneField()

Helper function for testTelephoneField().

File

core/modules/telephone/src/Tests/TelephoneFieldTest.php, line 50
Contains \Drupal\telephone\Tests\TelephoneFieldTest.

Class

TelephoneFieldTest
Tests the creation of telephone fields.

Namespace

Drupal\telephone\Tests

Code

function testTelephoneField() {

  // Add the telephone field to the article content type.
  entity_create('field_storage_config', array(
    'field_name' => 'field_telephone',
    'entity_type' => 'node',
    'type' => 'telephone',
  ))
    ->save();
  entity_create('field_config', array(
    'field_name' => 'field_telephone',
    'label' => 'Telephone Number',
    'entity_type' => 'node',
    'bundle' => 'article',
  ))
    ->save();
  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[0][value]", '', 'Widget found.');
  $this
    ->assertRaw('placeholder="123-456-7890"');

  // Test basic entry of telephone field.
  $edit = array(
    'title[0][value]' => $this
      ->randomMachineName(),
    'field_telephone[0][value]' => "123456789",
  );
  $this
    ->drupalPostForm(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[0][value]' => $this
      ->randomMachineName(),
    'field_telephone[0][value]' => "1234 56789",
  );
  $this
    ->drupalPostForm('node/add/article', $edit, t('Save'));
  $this
    ->assertRaw('<a href="tel:123456789">', 'Telephone link is output with whitespace removed.');
}