Issue #3109795 by alexpott, Berdir: Entity plural label context is not set as expected

(cherry picked from commit 5002f8f786)
merge-requests/64/head
catch 2020-06-01 12:23:12 +01:00
parent 9ab81b2ea2
commit cb14f8badf
2 changed files with 12 additions and 2 deletions

View File

@ -821,8 +821,11 @@ class EntityType extends PluginDefinition implements EntityTypeInterface {
if (empty($this->label_count)) {
return $this->formatPlural($count, '@count @label', '@count @label entities', ['@label' => $this->getSingularLabel()], ['context' => 'Entity type label']);
}
$context = isset($this->label_count['context']) ? $this->label_count['context'] : 'Entity type label';
return $this->formatPlural($count, $this->label_count['singular'], $this->label_count['plural'], ['context' => $context]);
$options = [];
if (isset($this->label_count['context'])) {
$options['context'] = $this->label_count['context'];
}
return $this->formatPlural($count, $this->label_count['singular'], $this->label_count['plural'], [], $options);
}
/**

View File

@ -397,6 +397,12 @@ class EntityTypeTest extends UnitTestCase {
$this->assertEquals('one entity test', $entity_type->getCountLabel(1));
$this->assertEquals('2 entity test', $entity_type->getCountLabel(2));
$this->assertEquals('200 entity test', $entity_type->getCountLabel(200));
$this->assertArrayNotHasKey('context', $entity_type->getCountLabel(1)->getOptions());
// Test a custom context.
$entity_type = $this->setUpEntityType(['label_count' => ['singular' => 'one entity test', 'plural' => '@count entity test', 'context' => 'custom context']]);
$entity_type->setStringTranslation($this->getStringTranslationStub());
$this->assertSame('custom context', $entity_type->getCountLabel(1)->getOption('context'));
}
/**
@ -408,6 +414,7 @@ class EntityTypeTest extends UnitTestCase {
$this->assertEquals('1 entity test plural', $entity_type->getCountLabel(1));
$this->assertEquals('2 entity test plural entities', $entity_type->getCountLabel(2));
$this->assertEquals('200 entity test plural entities', $entity_type->getCountLabel(200));
$this->assertSame('Entity type label', $entity_type->getCountLabel(1)->getOption('context'));
}
/**