Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / serialization / tests / src / Unit / CompilerPass / RegisterSerializationClassesCompilerPassTest.php
index f9a5b7729806e30e91e5bf85340f54824d39fe8b..e85b55600a437f936fb192e55e1765239a7c837b 100644 (file)
@@ -21,26 +21,38 @@ class RegisterSerializationClassesCompilerPassTest extends UnitTestCase {
     $container = new ContainerBuilder();
     $container->setDefinition('serializer', new Definition(Serializer::class, [[], []]));
 
-    $definition = new Definition('TestClass');
-    $definition->addTag('encoder', ['format' => 'xml']);
-    $definition->addTag('_provider', ['provider' => 'test_provider_a']);
-    $container->setDefinition('encoder_1', $definition);
+    $encoder_1_definition = new Definition('TestClass');
+    $encoder_1_definition->addTag('encoder', ['format' => 'xml']);
+    $encoder_1_definition->addTag('_provider', ['provider' => 'test_provider_a']);
+    $container->setDefinition('encoder_1', $encoder_1_definition);
 
-    $definition = new Definition('TestClass');
-    $definition->addTag('encoder', ['format' => 'json']);
-    $definition->addTag('_provider', ['provider' => 'test_provider_a']);
-    $container->setDefinition('encoder_2', $definition);
+    $encoder_2_definition = new Definition('TestClass');
+    $encoder_2_definition->addTag('encoder', ['format' => 'json']);
+    $encoder_2_definition->addTag('_provider', ['provider' => 'test_provider_a']);
+    $container->setDefinition('encoder_2', $encoder_2_definition);
 
-    $definition = new Definition('TestClass');
-    $definition->addTag('encoder', ['format' => 'hal_json']);
-    $definition->addTag('_provider', ['provider' => 'test_provider_b']);
-    $container->setDefinition('encoder_3', $definition);
+    $encoder_3_definition = new Definition('TestClass');
+    $encoder_3_definition->addTag('encoder', ['format' => 'hal_json']);
+    $encoder_3_definition->addTag('_provider', ['provider' => 'test_provider_b']);
+    $container->setDefinition('encoder_3', $encoder_3_definition);
+
+    $normalizer_1_definition = new Definition('TestClass');
+    $normalizer_1_definition->addTag('normalizer');
+    $container->setDefinition('normalizer_1', $normalizer_1_definition);
 
     $compiler_pass = new RegisterSerializationClassesCompilerPass();
     $compiler_pass->process($container);
 
+    // Check registration of formats and providers.
     $this->assertEquals(['xml', 'json', 'hal_json'], $container->getParameter('serializer.formats'));
     $this->assertEquals(['xml' => 'test_provider_a', 'json' => 'test_provider_a', 'hal_json' => 'test_provider_b'], $container->getParameter('serializer.format_providers'));
+
+    // Check all encoder and normalizer service definitions are marked private.
+    $this->assertFalse($encoder_1_definition->isPublic());
+    $this->assertFalse($encoder_2_definition->isPublic());
+    $this->assertFalse($encoder_3_definition->isPublic());
+
+    $this->assertFalse($normalizer_1_definition->isPublic());
   }
 
 }