You are here

public function UriItemTest::testUriField in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/field/tests/src/Kernel/Uri/UriItemTest.php \Drupal\Tests\field\Kernel\Uri\UriItemTest::testUriField()
  2. 10 core/modules/field/tests/src/Kernel/Uri/UriItemTest.php \Drupal\Tests\field\Kernel\Uri\UriItemTest::testUriField()

Tests URI field.

File

core/modules/field/tests/src/Kernel/Uri/UriItemTest.php, line 36

Class

UriItemTest
Tests URI field functionality.

Namespace

Drupal\Tests\field\Kernel\Uri

Code

public function testUriField() {
  $label = $this
    ->randomMachineName();

  // Create a field with settings to validate.
  $field_name = mb_strtolower($this
    ->randomMachineName());
  $this->fieldStorage = FieldStorageConfig::create([
    'field_name' => $field_name,
    'entity_type' => 'entity_test',
    'type' => 'uri',
  ]);
  $this->fieldStorage
    ->save();
  $this->field = FieldConfig::create([
    'field_name' => $field_name,
    'entity_type' => 'entity_test',
    'bundle' => 'entity_test',
    'label' => $label,
    'required' => TRUE,
    'settings' => [
      'size' => 123,
      'placeholder' => '',
    ],
  ]);
  $this->field
    ->save();

  // Create a form display for the default form mode.
  \Drupal::service('entity_display.repository')
    ->getFormDisplay('entity_test', 'entity_test')
    ->setComponent($field_name, [
    'type' => 'uri',
  ])
    ->save();

  // Test the generateSampleValue() method.
  $entity = EntityTest::create();
  $entity->{$field_name}
    ->generateSampleItems();
  $this
    ->entityValidateAndSave($entity);
}