class RegisterSerializationClassesCompilerPassTest in Drupal 8
Same name and namespace in other branches
- 9 core/modules/serialization/tests/src/Unit/CompilerPass/RegisterSerializationClassesCompilerPassTest.php \Drupal\Tests\serialization\Unit\CompilerPass\RegisterSerializationClassesCompilerPassTest
- 10 core/modules/serialization/tests/src/Unit/CompilerPass/RegisterSerializationClassesCompilerPassTest.php \Drupal\Tests\serialization\Unit\CompilerPass\RegisterSerializationClassesCompilerPassTest
@coversDefaultClass \Drupal\serialization\RegisterSerializationClassesCompilerPass @group serialization
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\serialization\Unit\CompilerPass\RegisterSerializationClassesCompilerPassTest
Expanded class hierarchy of RegisterSerializationClassesCompilerPassTest
File
- core/
modules/ serialization/ tests/ src/ Unit/ CompilerPass/ RegisterSerializationClassesCompilerPassTest.php, line 15
Namespace
Drupal\Tests\serialization\Unit\CompilerPassView source
class RegisterSerializationClassesCompilerPassTest extends UnitTestCase {
/**
* @covers ::process
*/
public function testEncoders() {
$container = new ContainerBuilder();
$container
->setDefinition('serializer', new Definition(Serializer::class, [
[],
[],
]));
$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);
$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);
$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());
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
RegisterSerializationClassesCompilerPassTest:: |
public | function | @covers ::process | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. | |
UnitTestCase:: |
protected | function | 340 |