404c2f0b6b2b3e617fc83dff0668b19568b3d713
[yaffs-website] / web / core / tests / Drupal / KernelTests / Core / Field / Entity / BaseFieldOverrideTest.php
1 <?php
2
3 namespace Drupal\KernelTests\Core\Field\Entity;
4
5 use Drupal\Core\Field\BaseFieldDefinition;
6 use Drupal\Core\Field\Entity\BaseFieldOverride;
7 use Drupal\Core\Field\FieldItemList;
8 use Drupal\KernelTests\KernelTestBase;
9
10 /**
11  * @coversDefaultClass \Drupal\Core\Field\Entity\BaseFieldOverride
12  * @group Field
13  */
14 class BaseFieldOverrideTest extends KernelTestBase {
15
16   /**
17    * Modules to install.
18    *
19    * @var array
20    */
21   public static $modules = ['system'];
22
23   /**
24    * {@inheritdoc}
25    */
26   protected function setUp() {
27     parent::setUp();
28     $this->installEntitySchema('base_field_override');
29   }
30
31   /**
32    * @covers ::getClass
33    *
34    * @dataProvider getClassTestCases
35    */
36   public function testGetClass($field_type, $base_field_class, $expected_override_class) {
37     $base_field = BaseFieldDefinition::create($field_type)
38       ->setName('Test Field')
39       ->setTargetEntityTypeId('entity_test');
40     if ($base_field_class) {
41       $base_field->setClass($base_field_class);
42     }
43     $override = BaseFieldOverride::createFromBaseFieldDefinition($base_field, 'test_bundle');
44     $this->assertEquals($expected_override_class, ltrim($override->getClass(), '\\'));
45   }
46
47   /**
48    * Test cases for ::testGetClass.
49    */
50   public function getClassTestCases() {
51     return [
52       'String (default class)' => [
53         'string',
54         FALSE,
55         FieldItemList::class,
56       ],
57       'String (overriden class)' => [
58         'string',
59         static::class,
60         static::class,
61       ],
62     ];
63   }
64
65 }