public function TypedDataDefinitionTest::testMaps in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/system/src/Tests/TypedData/TypedDataDefinitionTest.php \Drupal\system\Tests\TypedData\TypedDataDefinitionTest::testMaps()
Tests deriving metadata about maps.
File
- core/
modules/ system/ src/ Tests/ TypedData/ TypedDataDefinitionTest.php, line 65 - Contains \Drupal\system\Tests\TypedData\TypedDataDefinitionTest.
Class
- TypedDataDefinitionTest
- Tests deriving metadata of core data types.
Namespace
Drupal\system\Tests\TypedDataCode
public function testMaps() {
$map_definition = MapDataDefinition::create()
->setPropertyDefinition('one', DataDefinition::create('string'))
->setPropertyDefinition('two', DataDefinition::create('string'))
->setPropertyDefinition('three', DataDefinition::create('string'));
$this
->assertTrue($map_definition instanceof ComplexDataDefinitionInterface);
// Test retrieving metadata about contained properties.
$this
->assertEqual(array_keys($map_definition
->getPropertyDefinitions()), array(
'one',
'two',
'three',
));
$this
->assertEqual($map_definition
->getPropertyDefinition('one')
->getDataType(), 'string');
$this
->assertNull($map_definition
->getMainPropertyName());
$this
->assertNull($map_definition
->getPropertyDefinition('invalid'));
// Test using the definition factory.
$map_definition2 = $this->typedDataManager
->createDataDefinition('map');
$this
->assertTrue($map_definition2 instanceof ComplexDataDefinitionInterface);
$map_definition2
->setPropertyDefinition('one', DataDefinition::create('string'))
->setPropertyDefinition('two', DataDefinition::create('string'))
->setPropertyDefinition('three', DataDefinition::create('string'));
$this
->assertEqual($map_definition, $map_definition2);
}