public function ContentEntityCloneTest::testNewRevisionOnCloneEntityTranslation in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php \Drupal\KernelTests\Core\Entity\ContentEntityCloneTest::testNewRevisionOnCloneEntityTranslation()
- 9 core/tests/Drupal/KernelTests/Core/Entity/ContentEntityCloneTest.php \Drupal\KernelTests\Core\Entity\ContentEntityCloneTest::testNewRevisionOnCloneEntityTranslation()
Tests that the flag for enforcing a new revision is not shared.
File
- core/
tests/ Drupal/ KernelTests/ Core/ Entity/ ContentEntityCloneTest.php, line 152
Class
- ContentEntityCloneTest
- Tests proper cloning of content entities.
Namespace
Drupal\KernelTests\Core\EntityCode
public function testNewRevisionOnCloneEntityTranslation() {
// Create a test entity.
$entity = EntityTestMulRev::create([
'name' => $this
->randomString(),
'language' => 'en',
]);
$entity
->save();
$entity
->addTranslation('de');
$entity
->save();
// Reload the entity as ContentEntityBase::postCreate() forces the entity to
// be a new revision.
$entity = EntityTestMulRev::load($entity
->id());
$entity_translation = $entity
->getTranslation('de');
// The entity is not set to be a new revision.
$this
->assertFalse($entity_translation
->isNewRevision());
// The clone should not be set to be a new revision either.
$clone = clone $entity_translation;
$this
->assertFalse($clone
->isNewRevision());
// After forcing the clone to be a new revision only it should be flagged
// as a new revision, but the original entity should not.
$clone
->setNewRevision();
$this
->assertTrue($clone
->isNewRevision());
$this
->assertFalse($entity_translation
->isNewRevision());
}