Security update for Core, with self-updated composer
[yaffs-website] / web / core / tests / Drupal / Tests / Core / DependencyInjection / DependencySerializationTest.php
index f5f9a849afce96a120f556c6480a91969ddb23d0..eda446f95d23691116212a02ab392d00d0514df9 100644 (file)
@@ -44,6 +44,29 @@ class DependencySerializationTest extends UnitTestCase {
     $this->assertEmpty($dependencySerialization->getServiceIds());
   }
 
+  /**
+   * @covers ::__sleep
+   * @covers ::__wakeup
+   */
+  public function testSerializationWithMissingService() {
+    // Create a pseudo service and dependency injected object.
+    $service = new \stdClass();
+    $service->_serviceId = 'test_service_not_existing';
+    $container = new Container();
+    $container->set('test_service', $service);
+    $container->set('service_container', $container);
+    \Drupal::setContainer($container);
+
+    $dependencySerialization = new DependencySerializationTestDummy($service);
+    $dependencySerialization->setContainer($container);
+
+    $string = serialize($dependencySerialization);
+    /** @var \Drupal\Tests\Core\DependencyInjection\DependencySerializationTestDummy $dependencySerialization */
+    $dependencySerialization = unserialize($string);
+
+    $this->assertSame($container, $dependencySerialization->container);
+  }
+
 }
 
 /**