diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php index d2f26f7..0abb9a7 100644 --- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php +++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php @@ -375,17 +375,23 @@ public function getConfigDependencyName() { * {@inheritdoc} */ public function serialize() { - $values = $this->toArray(); - $values['entityTypeID'] = $this->getEntityTypeId(); - return serialize($values); + return serialize(array( + 'entity_type_id' => $this->getEntityTypeId(), + 'values' => $this->toArray(), + )); } /** * {@inheritdoc} */ public function unserialize($serialized) { - $values = unserialize($serialized); - return $this->__construct($values, $values['entityTypeID']); + // PHPUnit uses unserialize() on a made up string as a trick when bypassing + // the contructor on mock object creation. Make sure we only run on objects + // that have been serialized through our serialize() method. + $unserialized = unserialize($serialized); + if (isset($unserialized['entity_type_id'])) { + return $this->__construct($unserialized['values'], $unserialized['entity_type_id']); + } } }