function AnnotationProcessingTest::testTranslationSquelching
Make sure @ Translation annotations do not leak out into the wild.
File
-
tests/
src/ Unit/ Integration/ Engine/ AnnotationProcessingTest.php, line 30
Class
- AnnotationProcessingTest
- Tests processing of the ContextDefinition annotation.
Namespace
Drupal\Tests\rules\Unit\Integration\EngineCode
public function testTranslationSquelching() {
// Get a sample Rules plugin.
$plugin = $this->conditionManager
->createInstance('rules_list_contains');
$context = $plugin->getContext('list');
$definition = $context->getContextDefinition();
// These can reasonably be either strings or TranslatableMarkup objects,
// but never Translation objects.
$label = $definition->getLabel();
$description = $definition->getDescription();
$this->assertNotInstanceOf(Translation::class, $label, 'Label is not a Translation object');
$this->assertNotInstanceOf(Translation::class, $description, 'Description is not a Translation object');
// Check also the toArray() path.
$definition = $context->getContextDefinition();
$values = $definition->toArray();
$label = $values['label'];
$description = $values['description'];
$this->assertNotInstanceOf(Translation::class, $label, "\$values['label'] is not a Translation object");
$this->assertNotInstanceOf(Translation::class, $description, "\$values['description'] is not a Translation object");
}