Version 1
[yaffs-website] / web / core / modules / field / tests / src / Kernel / Uri / UriItemTest.php
1 <?php
2
3 namespace Drupal\Tests\field\Kernel\Uri;
4
5 use Drupal\Component\Utility\Unicode;
6 use Drupal\entity_test\Entity\EntityTest;
7 use Drupal\field\Entity\FieldConfig;
8 use Drupal\field\Entity\FieldStorageConfig;
9 use Drupal\Tests\field\Kernel\FieldKernelTestBase;
10
11 /**
12  * Tests URI field functionality.
13  *
14  * @see \Drupal\Core\Field\Plugin\Field\FieldType\UriItem
15  *
16  * @group field
17  */
18 class UriItemTest extends FieldKernelTestBase {
19
20   /**
21    * A field to use in this test class.
22    *
23    * @var \Drupal\field\Entity\FieldStorageConfig
24    */
25   protected $fieldStorage;
26
27   /**
28    * The field used in this test class.
29    *
30    * @var \Drupal\field\Entity\FieldConfig
31    */
32   protected $field;
33
34   /**
35    * Tests URI field.
36    */
37   public function testUriField() {
38     $label = $this->randomMachineName();
39
40     // Create a field with settings to validate.
41     $field_name = Unicode::strtolower($this->randomMachineName());
42     $this->fieldStorage = FieldStorageConfig::create([
43       'field_name' => $field_name,
44       'entity_type' => 'entity_test',
45       'type' => 'uri',
46     ]);
47     $this->fieldStorage->save();
48     $this->field = FieldConfig::create([
49       'field_name' => $field_name,
50       'entity_type' => 'entity_test',
51       'bundle' => 'entity_test',
52       'label' => $label,
53       'required' => TRUE,
54       'settings' => [
55         'size' => 123,
56         'placeholder' => '',
57       ],
58     ]);
59     $this->field->save();
60
61     // Create a form display for the default form mode.
62     entity_get_form_display('entity_test', 'entity_test', 'default')
63       ->setComponent($field_name, [
64         'type' => 'uri',
65       ])
66       ->save();
67
68     // Test the generateSampleValue() method.
69     $entity = EntityTest::create();
70     $entity->$field_name->generateSampleItems();
71     $this->entityValidateAndSave($entity);
72   }
73
74 }