Problem/Motivation

I am using content moderation with a custom entity. I noticed the behaviour that the published status doesn't change as you transition through different states, but there was no indication from the UI that it wouldn't actually enforce the publish state for you.

Proposed resolution

Right now NodeModerationHandler handles changing the published status for nodes. Instead how about ModerationHandler attempts to change the published status for you. Then I wouldn't require my own moderation handler for my custom entity.

Remaining tasks

Validate/patch.

User interface changes

None.

API changes

Any non-node entities relying on publishing status not changing will now change.

Data model changes

None.

CommentFileSizeAuthor
#76 interdiff.txt1.84 KBtimmillwood
#76 2812811-76.patch22.9 KBtimmillwood
#71 interdiff.txt1.39 KBtimmillwood
#71 2812811-71.patch23.62 KBtimmillwood
#69 interdiff.txt1.24 KBtimmillwood
#69 2812811-69.patch23.69 KBtimmillwood
#66 2812811-66.patch24.03 KBtimmillwood
#66 interdiff.txt812 bytestimmillwood
#64 2812811-64.patch26.09 KBtimmillwood
#64 interdiff.txt5.87 KBtimmillwood
#63 interdiff.txt21.01 KBtimmillwood
#63 2812811-63.patch24.82 KBtimmillwood
#56 2812811-56.patch26.17 KBsam152
#56 interdiff.txt965 bytessam152
#53 interdiff.txt1.82 KBtimmillwood
#53 2812811-53.patch25.23 KBtimmillwood
#52 interdiff.txt7.54 KBtimmillwood
#52 2812811-52.patch24.7 KBtimmillwood
#51 interdiff.txt3.02 KBtimmillwood
#51 2812811-51.patch19.06 KBtimmillwood
#43 2812811-set-published-states-43.patch19.64 KBsam152
#43 2812811-set-published-states-43--test-only.patch15.35 KBsam152
#37 2812811-set-published-states-37--test-only.patch15.92 KBsam152
#37 2812811-set-published-states-37.patch20.19 KBsam152
#37 interdiff.txt1.02 KBsam152
#25 2812811-set-published-states-25--test-only.patch15.51 KBsam152
#25 2812811-set-published-states-25.patch17.41 KBsam152
#16 2812811-set-published-states-16.patch21.08 KBsam152
#16 2812811-set-published-states-16__test_only.patch22.65 KBsam152
#16 interdiff.txt2.76 KBsam152
#13 2812811-set-published-states-13__test_only.patch20.01 KBsam152
#13 2812811-set-published-states-13.patch21.58 KBsam152
#13 interdiff.txt1.76 KBsam152
#10 2812811-set-published-states-10.patch20.62 KBsam152
#10 2812811-set-published-states-10_test_only.patch19.05 KBsam152
#2 2812811-set-published-states-2.patch1.57 KBsam152

Comments

Sam152 created an issue. See original summary.

sam152’s picture

Status: Active » Needs review
StatusFileSize
new1.57 KB

I'm thinking something like...

sam152’s picture

Title: Lack of clarity around if a publish state will actually be updated when using moderation states. » Lack of clarity around if a published state will be updated when using moderation states.
benjy’s picture

This makes sense, is status guaranteed to be a boolean field even on custom entities? Likely but maybe not always.

Also, probably need a test for this behaviour, maybe it's already tested elsewhere and this passes because the behaviour for nodes hasn't changed?

timmillwood’s picture

I think we should maybe think about this depending on #2810381: Add generic status field to ContentEntityBase then we can be sure that anything with the 'status' entity key has a boolean status field.

sam152’s picture

Yeah, I think if you've set the "status" entity key as something other than a boolean, that would have to be a really really edge case scenario. The generic status field looks good, but possibly not a blocker?

What is the test coverage like? Can we assumed this is covered if nodes continue to work or should it have a dedicated test? Are the moderation handlers unit testable in isolation?

timmillwood’s picture

We don't have any unit tests for the moderation handlers, maybe we should.
Another good way to test this would be to add a status entity key to one of the entity_test entity types, then add to one of the kernel tests.

timmillwood’s picture

Status: Needs review » Needs work
Issue tags: +Needs tests
sam152’s picture

It looks like #2810381: Add generic status field to ContentEntityBase could possibly be a controversial patch. Possibly #2817139: Document what the 'status' entity key should be used for on EntityTypeInterface is a bit of a middle ground that would unblock this?

sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new19.05 KB
new20.62 KB

Here is a test for a generic entity. Had to introduce a revisionable and bundleable entity to entity_test.

The last submitted patch, 10: 2812811-set-published-states-10_test_only.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 10: 2812811-set-published-states-10.patch, failed testing.

sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new1.76 KB
new21.58 KB
new20.01 KB

The last submitted patch, 13: 2812811-set-published-states-13.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 13: 2812811-set-published-states-13__test_only.patch, failed testing.

sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new2.76 KB
new22.65 KB
new21.08 KB

Fixes last tests and some labels here and there.

Edit: patch file names should be switched.

Status: Needs review » Needs work

The last submitted patch, 16: 2812811-set-published-states-16.patch, failed testing.

sam152’s picture

Status: Needs work » Needs review

Fail/pass is correct. Back to NR.

timmillwood’s picture

Status: Needs review » Needs work

Now that #2810381: Add generic status field to ContentEntityBase has been committed I think we need to re-visit this issue.

Entity keys are not going to be a requirement for a publishing status field, therefore we can't depend on that. It'll be nice when EntityPublishedInterface is in then we can check $entity_type instance of EntityPublishedInterface.

Until then we could use entities keys, because some entity types will have them, but we'll also need another check. This check can't be for a status field because some entity types have a status field which is not used for publishing status. Maybe we can check for setPublished or isPublished methods?

catch’s picture

Should we not just get EntityPublishedInterface in and use that?

timmillwood’s picture

amateescu’s picture

Status: Needs work » Postponed

Oops.

timmillwood’s picture

Status: Postponed » Needs work
sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new17.41 KB
new15.51 KB

New approach which does away with the new entity_test entity type and adds the features to an existing type for testing. Also makes use of the new interface.

Feels so right to have this in the diff of a patch that concerns EntityPublishedInterface :)

-      // Only nodes have a concept of published.
Sam152> berdir: If I need a test entity type that implements EntityPublishedInterface, is it a BC break to add that to the entity type I need in entity_test, or should we be creating one for this specific scenario?
4:10 PM Sam152: changing/extending test entity types is OK, test code is excluded from BC

Status: Needs review » Needs work

The last submitted patch, 25: 2812811-set-published-states-25--test-only.patch, failed testing.

sam152’s picture

Status: Needs work » Needs review
timmillwood’s picture

Status: Needs review » Reviewed & tested by the community

Looks good IMHO.

amateescu’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: -Needs tests
+++ b/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php
@@ -16,9 +16,6 @@ class NodeModerationHandler extends ModerationHandler {
   public function onPresave(ContentEntityInterface $entity, $default_revision, $published_state) {
     if ($this->shouldModerate($entity, $published_state)) {
       parent::onPresave($entity, $default_revision, $published_state);
-      // Only nodes have a concept of published.
-      /** @var \Drupal\node\NodeInterface $entity */
-      $entity->setPublished($published_state);
     }
   }

\Drupal\content_moderation\Entity\Handler\NodeModerationHandler::shouldModerate() contains some logic whether we need to change the published flag or not, and this logic now applies to any entity type that implements EntityPublishedInterface, so we need to move that method up one level, use it in \Drupal\content_moderation\Entity\Handler\ModerationHandler::onPresave() and remove \Drupal\content_moderation\Entity\Handler\NodeModerationHandler::onPresave() completely.

sam152’s picture

Good catch. I've also opened #2834949: Move multilingual handling to the generic entity handler instead of making it specific to nodes. to look at moving the translation parts of the node handler into the base.

sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new3.98 KB
new19.77 KB
new15.51 KB

This patch actually moves all of the node handler logic to the base. Was required to make the tests pass.

amateescu’s picture

Status: Needs review » Reviewed & tested by the community

This patch actually moves all of the node handler logic to the base.

That's exactly what I thought it would be needed :)

+++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
@@ -30,9 +31,33 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
+        $entity->{$published_state ? 'setPublished' : 'setUnpublished'}();

I would prefer an explicit if / else block here, but I won't hold up a commit on it.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 31: 2812811-set-published-states-31--test-only.patch, failed testing.

sam152’s picture

Status: Needs work » Reviewed & tested by the community
sam152’s picture

catch’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Needs tests
+++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
@@ -33,6 +34,10 @@ public function onPresave(ContentEntityInterface $entity, $default_revision, $pu
+      $entity->setPublished($published_state);

Can we update this for non-deprecated method calls - setPublished()/setUnPublished()?

Otherwise looks good.

sam152’s picture

Status: Needs work » Needs review
StatusFileSize
new1.02 KB
new20.19 KB
new15.92 KB

Does this need more testing? We have a @dataProvider that tests nodes and an entity from entity_test.

I couldn't see an instance of a param passed to setPublished in ModerationHandler.php as the feedback suggested, but there were some in the tests. Fixed.

amateescu’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: -Needs tests

I think @catch posted his comment without reloading the page, so he was looking at the patch in #25 which did have $entity->setPublished($published_state);, but it's nice that the tests are also updated now :)

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 37: 2812811-set-published-states-37--test-only.patch, failed testing.

amateescu’s picture

Status: Needs work » Reviewed & tested by the community

@Sam152, you should upload test-only patches first so the testbot doesn't kick the issue back to NW because of them ;)

sam152’s picture

Never knew that. Good tip thanks.

alexpott’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +Needs reroll

Needs a reroll... amazingly not that big..

git ac https://www.drupal.org/files/issues/2812811-set-published-states-37.patch
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20671  100 20671    0     0   6007      0  0:00:03  0:00:03 --:--:-- 77419
error: patch failed: core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php:6
error: core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php: patch does not apply
sam152’s picture

Status: Needs work » Needs review
Issue tags: -Needs reroll
StatusFileSize
new15.35 KB
new19.64 KB

Rerolled.

The last submitted patch, 43: 2812811-set-published-states-43--test-only.patch, failed testing.

timmillwood’s picture

Issue tags: +Workflow Initiative
sam152’s picture

Status: Needs review » Reviewed & tested by the community

Think this should actually be rtbc.

alexpott’s picture

Status: Reviewed & tested by the community » Needs work

Reading this patch makes me wonder why the NodeModerationHandler exists and why the handlers are also doing form alters. Looking at \Drupal\content_moderation\Entity\Handler\ModerationHandlerInterface it is a pretty confused thing. It's methods are:

  • onPresave
  • onBundleModerationConfigurationFormSubmit - I can't even see where this is used :(
  • enforceRevisionsEntityFormAlter
  • enforceRevisionsBundleFormAlter

I think before committing this - which makes sense we should:

  • File a followup to address the above issue - or maybe 2 followups - one to remove the dead code and the other to split the transition logic and form alter logic into tow different things.
  • Add a test for an entity type that does not implement \Drupal\Core\Entity\EntityPublishedInterface
timmillwood’s picture

Filed the two follow up issues.
#2842040: Remove unused code from Content Moderation handlers
#2842042: Review, organise, and clean up content moderation handlers

Going to look at the test for unpublishable entities now.

sam152’s picture

Retesting to see if this needs a reroll.

timmillwood’s picture

Status: Needs work » Needs review
StatusFileSize
new19.06 KB
new3.02 KB

I had thought about adding a further test entity type and test bundle to test entities that implement EntityPublishedInterface and those that don't, but thought Node is testing EntityPublishedInterface, and EntityTestWithBundle can test without EntityPublishedInterface.

timmillwood’s picture

Adding entity_test_publish_with_bundle which implements EntityPublishedInterface so we now test three entity types.

timmillwood’s picture

StatusFileSize
new25.23 KB
new1.82 KB

Adding extra test coverage with block_content too.

The last submitted patch, 52: 2812811-52.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 53: 2812811-53.patch, failed testing.

sam152’s picture

Title: Lack of clarity around if a published state will be updated when using moderation states. » Use EntityPublishedInterface during moderation of entities to add support beyond nodes
StatusFileSize
new965 bytes
new26.17 KB

Ran into similar fails in #13. Perhaps the same fix will work here. If not, ignore.

sam152’s picture

Status: Needs work » Needs review
amateescu’s picture

Some high-level overview for now, I'm going to go into nitpick mode after the big questions are answered :)

  1. +++ b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php
    @@ -81,26 +105,51 @@ public function testBasicModeration() {
    +    if ($entity instanceof EntityPublishedInterface) {
    +      $this->assertFalse($entity->isPublished());
    +    }
    

    This looks suspicious, how can a entity type be moderated without being a publishable entity type?

  2. +++ b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php
    @@ -301,24 +339,43 @@ public function testNonLangcodeEntityTypeModeration() {
    +  protected function setEntityTestWithBundleKeys($keys, $remove_keys = []) {
    +    $entity_type = clone \Drupal::entityTypeManager()->getDefinition('entity_test_with_bundle');
    +    $original_keys = $entity_type->getKeys();
    +    foreach ($remove_keys as $remove_key) {
    +      unset($original_keys[$remove_key]);
    +    }
    +    $entity_type->set('entity_keys', $keys + $original_keys);
    +    \Drupal::state()->set('entity_test_with_bundle.entity_type', $entity_type);
    +    \Drupal::entityDefinitionUpdateManager()->applyUpdates();
    +  }
    

    Since we now define a new test entity type class, do we still need to test this one as well?

  3. +++ b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestPublishWithBundle.php
    @@ -0,0 +1,81 @@
    +class EntityTestPublishWithBundle extends ContentEntityBase implements EntityPublishedInterface {
    

    Does this entity type really need to have bundles?

amateescu’s picture

Discussed with @timmillwood and my main concern from #58 is actually: why do have to test with entity types that store bundles in config (i.e. a config entity type). He's going to look into that now.

timmillwood’s picture

After looking into this today it's not going to be possible to use content moderation without a config bundle until we resolve #2799785: Entity types with non-config bundles can not be moderated. Also I think we do need to test entity types that can be published and entity types that can't be published until we decide on #2842692: Warn users before enabling moderation on an entity type that can't be (un)published.

sam152’s picture

Yep, the point of the three entity types were:

  • Testing nodes which have some custom handler logic applied.
  • Testing a barebones entity that implemented EntityPublishedInterface.
  • Testing a barebones entity that doesn't implement EntityPublishedInterface.

It would be nice to not have any more blockers for this issue, but #2799785: Entity types with non-config bundles can not be moderated looks like it's making good progress, if we want to keep entity_test free of config based bundles.

If other concerns come up around putting CM-centric stuff in entity_test, we could possibly create exactly the tailored entity types we need in ./content_moderation/tests/modules, which might also allow some cleanup on the entity definition alterations in the test code. Just a thought for down the track.

timmillwood’s picture

+++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
@@ -30,9 +31,33 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
   public function onPresave(ContentEntityInterface $entity, $default_revision, $published_state) {

After some thought about this handlers, do we really need onPresave in them? Why don't we just put this code in \Drupal\content_moderation\EntityOperations::entityPresave?

timmillwood’s picture

StatusFileSize
new24.82 KB
new21.01 KB

Simplifying the patch now we don't need bundles for testing.

timmillwood’s picture

StatusFileSize
new5.87 KB
new26.09 KB

I don't think we really need the presave in the handler, lets move it out.
Also removing an unused schema from a previous version of the patch.

sam152’s picture

+1 to #63. I think #64 should be another discussion. Just need the schema removal from #64.

I probably can't RTBC this, but I think it's ready.

timmillwood’s picture

StatusFileSize
new812 bytes
new24.03 KB

We can discuss removing the presave (and maybe the whole handler) in #2842042: Review, organise, and clean up content moderation handlers.

Interdiff based on #63.

amateescu’s picture

Status: Needs review » Reviewed & tested by the community

I reviewed this patch a few times already, and the latest one looks great!

alexpott’s picture

Status: Reviewed & tested by the community » Needs work
  1. +++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
    @@ -30,9 +31,33 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
    -    // This is probably not necessary if configuration is setup correctly.
    -    $entity->setNewRevision(TRUE);
    -    $entity->isDefaultRevision($default_revision);
    +    if ($this->shouldModerate($entity, $published_state)) {
    ...
    +  /**
    +   * Check if an entity's default revision and/or state needs adjusting.
    +   *
    +   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
    +   *   The entity to check.
    +   * @param bool $published_state
    +   *   Whether the state being transitioned to is a published state or not.
    +   *
    +   * @return bool
    +   *   TRUE when either the default revision or the state needs to be updated.
    +   */
    +  protected function shouldModerate(ContentEntityInterface $entity, $published_state) {
    +    // @todo clarify the first condition, https://www.drupal.org/node/2834953.
    +    // First condition is needed so you can add a translation.
    +    // Second condition checks to see if the published status has changed.
    +    return $entity->isDefaultTranslation() || (!($entity instanceof EntityPublishedInterface) || $entity->isPublished() !== $published_state);
       }
    
    +++ b/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php
    @@ -74,22 +62,4 @@ public function enforceRevisionsBundleFormAlter(array &$form, FormStateInterface
    -  /**
    -   * Check if an entity's default revision and/or state needs adjusting.
    -   *
    -   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
    -   *   The entity to check.
    -   * @param bool $published_state
    -   *   Whether the state being transitioned to is a published state or not.
    -   *
    -   * @return bool
    -   *   TRUE when either the default revision or the state needs to be updated.
    -   */
    -  protected function shouldModerate(ContentEntityInterface $entity, $published_state) {
    -    // @todo clarify the first condition.
    -    // First condition is needed so you can add a translation.
    -    // Second condition checks to see if the published status has changed.
    -    return $entity->isDefaultTranslation() || $entity->isPublished() !== $published_state;
    -  }
    

    I'm not sure about this logic change. Before we were always calling $entity->setNewRevision(TRUE) for non nodes and now we are not.

  2. +++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
    @@ -30,9 +31,33 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
    +        $entity->{$published_state ? 'setPublished' : 'setUnpublished'}();
    

    I think this is a pretty complex structure to grok and it makes finding code usages unnecessarily hard.

    How about (if you want to keep the ternary)

    $published_state ? $entity->setPublished() : $entity->setUnpublished();
    

    Or just use a regular if.

timmillwood’s picture

Status: Needs work » Needs review
StatusFileSize
new23.69 KB
new1.24 KB
  • Moved setNewRevision and isDefaultRevision back out of shouldModerate.
  • Cleaned up ternary statement.
amateescu’s picture

+++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
@@ -32,6 +33,30 @@ public function onPresave(ContentEntityInterface $entity, $default_revision, $pu
+    if ($this->shouldModerate($entity, $published_state)) {
+      if ($entity instanceof EntityPublishedInterface) {

We should probably combine these 'if's :)

timmillwood’s picture

StatusFileSize
new23.62 KB
new1.39 KB

Good point, merged publishing interface check into shouldModerate().

sam152’s picture

+++ b/core/modules/content_moderation/src/Entity/Handler/ModerationHandler.php
@@ -35,9 +35,7 @@ public function onPresave(ContentEntityInterface $entity, $default_revision, $pu
     if ($this->shouldModerate($entity, $published_state)) {
-      if ($entity instanceof EntityPublishedInterface) {
-        $published_state ? $entity->setPublished() : $entity->setUnpublished();
-      }
+      $published_state ? $entity->setPublished() : $entity->setUnpublished();
     }
   }

I think we're missing the check altogether now? Otherwise LGTM.

timmillwood’s picture

The check has moved to shouldModerate()

sam152’s picture

What if the call to isDefaultTranslation is TRUE?

Status: Needs review » Needs work

The last submitted patch, 71: 2812811-71.patch, failed testing.

timmillwood’s picture

Status: Needs work » Needs review
StatusFileSize
new22.9 KB
new1.84 KB

Removed shouldModerate(), this seems to work now.

This will also resolve #2834953: Clarify use of isDefaultTranslation() to determine if an entity values should be updated..

sam152’s picture

Status: Needs review » Reviewed & tested by the community

Interdiff LGTM, the name shouldModerate was fairly ambiguous, so glad to see it go.

alexpott’s picture

Status: Reviewed & tested by the community » Fixed

Funnily enough I think the idea that ContentModeration should only work on entity types that implement EntityPublishedInterface makes way more sense than the current requirement for revisions.

Anyhow this is a step in the right direction that makes it easier to use content moderation on more entity types without customisation.

Committed d55b420 and pushed to 8.3.x. Thanks!

diff --git a/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php b/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php
index 28accc0..76f00e0 100644
--- a/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php
+++ b/core/modules/content_moderation/src/Entity/Handler/NodeModerationHandler.php
@@ -3,7 +3,6 @@
 namespace Drupal\content_moderation\Entity\Handler;
 
 use Drupal\content_moderation\ModerationInformationInterface;
-use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
diff --git a/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php
index 6338746..69bb580 100644
--- a/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php
+++ b/core/modules/content_moderation/tests/src/Kernel/ContentModerationStateTest.php
@@ -5,7 +5,6 @@
 use Drupal\content_moderation\Entity\ContentModerationState;
 use Drupal\Core\Entity\EntityPublishedInterface;
 use Drupal\entity_test\Entity\EntityTestBundle;
-use Drupal\entity_test\Entity\EntityTestRev;
 use Drupal\entity_test\Entity\EntityTestWithBundle;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\KernelTests\KernelTestBase;
@@ -385,7 +384,7 @@ protected function setEntityTestWithBundleKeys($keys, $remove_keys = []) {
   /**
    * Reloads the entity after clearing the static cache.
    *
-   * @param \Drupal\Core\Entity\EntityInterface
+   * @param \Drupal\Core\Entity\EntityInterface $entity
    *   The entity to reload.
    * @param int|bool $revision_id
    *   The specific revision ID to load. Defaults FALSE and just loads the
diff --git a/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevPub.php b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevPub.php
index 4f8434e..862958e 100644
--- a/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevPub.php
+++ b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevPub.php
@@ -50,7 +50,7 @@
  *   }
  * )
  */
-class EntityTestMulRevPub extends EntityTestMulRev  implements EntityPublishedInterface {
+class EntityTestMulRevPub extends EntityTestMulRev implements EntityPublishedInterface {
 
   use EntityPublishedTrait;
 

Fixed some code style stuff on commit.

  • alexpott committed d55b420 on 8.3.x
    Issue #2812811 by Sam152, timmillwood, amateescu, alexpott, catch: Use...

  • alexpott committed d55b420 on 8.4.x
    Issue #2812811 by Sam152, timmillwood, amateescu, alexpott, catch: Use...

  • alexpott committed d55b420 on 8.4.x
    Issue #2812811 by Sam152, timmillwood, amateescu, alexpott, catch: Use...
timmillwood’s picture

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.