function TypedDataDefinitionTest::testLists

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/TypedData/TypedDataDefinitionTest.php \Drupal\KernelTests\Core\TypedData\TypedDataDefinitionTest::testLists()
  2. 10 core/tests/Drupal/KernelTests/Core/TypedData/TypedDataDefinitionTest.php \Drupal\KernelTests\Core\TypedData\TypedDataDefinitionTest::testLists()
  3. 11.x core/tests/Drupal/KernelTests/Core/TypedData/TypedDataDefinitionTest.php \Drupal\KernelTests\Core\TypedData\TypedDataDefinitionTest::testLists()

Tests deriving metadata about list items.

File

core/tests/Drupal/KernelTests/Core/TypedData/TypedDataDefinitionTest.php, line 37

Class

TypedDataDefinitionTest
Tests deriving metadata of core data types.

Namespace

Drupal\KernelTests\Core\TypedData

Code

public function testLists() {
    $list_definition = ListDataDefinition::create('string');
    $this->assertInstanceOf(ListDataDefinitionInterface::class, $list_definition);
    $item_definition = $list_definition->getItemDefinition();
    $this->assertInstanceOf(DataDefinitionInterface::class, $item_definition);
    $this->assertEqual($item_definition->getDataType(), 'string');
    // Test using the definition factory.
    $list_definition2 = $this->typedDataManager
        ->createListDataDefinition('string');
    $this->assertInstanceOf(ListDataDefinitionInterface::class, $list_definition2);
    $this->assertEqual($list_definition, $list_definition2);
    // Test creating the definition of data with type 'list', which is the same
    // as creating a definition of a list of items of type 'any'.
    $list_definition = $this->typedDataManager
        ->createDataDefinition('list');
    $this->assertInstanceOf(ListDataDefinitionInterface::class, $list_definition);
    $this->assertEqual($list_definition->getDataType(), 'list');
    $this->assertEqual($list_definition->getItemDefinition()
        ->getDataType(), 'any');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.