Chris@0: installEntitySchema('entity_test_rev'); Chris@0: Chris@0: // Create the necessary formats. Chris@0: $this->installConfig(['filter']); Chris@0: FilterFormat::create([ Chris@0: 'format' => 'no_filters', Chris@0: 'filters' => [], Chris@0: ])->save(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests processed properties. Chris@0: */ Chris@0: public function testCrudAndUpdate() { Chris@0: $entity_type = 'entity_test'; Chris@0: $this->createField($entity_type); Chris@0: Chris@0: // Create an entity with a summary and no text format. Chris@0: $storage = $this->container->get('entity_type.manager') Chris@0: ->getStorage($entity_type); Chris@0: $entity = $storage->create(); Chris@0: $entity->summary_field->value = $value = $this->randomMachineName(); Chris@0: $entity->summary_field->summary = $summary = $this->randomMachineName(); Chris@0: $entity->summary_field->format = NULL; Chris@0: $entity->name->value = $this->randomMachineName(); Chris@0: $entity->save(); Chris@0: Chris@0: $entity = $storage->load($entity->id()); Chris@0: $this->assertTrue($entity->summary_field instanceof FieldItemListInterface, 'Field implements interface.'); Chris@0: $this->assertTrue($entity->summary_field[0] instanceof FieldItemInterface, 'Field item implements interface.'); Chris@0: $this->assertEqual($entity->summary_field->value, $value); Chris@0: $this->assertEqual($entity->summary_field->summary, $summary); Chris@0: $this->assertNull($entity->summary_field->format); Chris@0: // Even if no format is given, if text processing is enabled, the default Chris@0: // format is used. Chris@0: $this->assertEqual($entity->summary_field->processed, "

$value

\n"); Chris@0: $this->assertEqual($entity->summary_field->summary_processed, "

$summary

\n"); Chris@0: Chris@0: // Change the format, this should update the processed properties. Chris@0: $entity->summary_field->format = 'no_filters'; Chris@0: $this->assertEqual($entity->summary_field->processed, $value); Chris@0: $this->assertEqual($entity->summary_field->summary_processed, $summary); Chris@0: Chris@0: // Test the generateSampleValue() method. Chris@0: $entity = $this->container->get('entity_type.manager') Chris@0: ->getStorage($entity_type) Chris@0: ->create(); Chris@0: $entity->summary_field->generateSampleItems(); Chris@0: $this->entityValidateAndSave($entity); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Creates a text_with_summary field storage and field. Chris@0: * Chris@0: * @param string $entity_type Chris@0: * Entity type for which the field should be created. Chris@0: */ Chris@0: protected function createField($entity_type) { Chris@0: // Create a field . Chris@0: $this->fieldStorage = FieldStorageConfig::create([ Chris@0: 'field_name' => 'summary_field', Chris@0: 'entity_type' => $entity_type, Chris@0: 'type' => 'text_with_summary', Chris@0: 'settings' => [ Chris@0: 'max_length' => 10, Chris@17: ], Chris@0: ]); Chris@0: $this->fieldStorage->save(); Chris@0: $this->field = FieldConfig::create([ Chris@0: 'field_storage' => $this->fieldStorage, Chris@0: 'bundle' => $entity_type, Chris@0: ]); Chris@0: $this->field->save(); Chris@0: } Chris@0: Chris@0: }