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