diff --git a/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php b/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php index 3d2cca417e..0938895083 100644 --- a/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php +++ b/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php @@ -2,9 +2,9 @@ namespace Drupal\Tests\locale\Functional; +use Drupal\Core\StringTranslation\PluralTranslatableMarkup; use Drupal\language\Entity\ConfigurableLanguage; use Drupal\Tests\BrowserTestBase; -use Drupal\Tests\Core\Cache\CacheCollectorHelper; /** * Tests LocaleLookup. @@ -58,8 +58,10 @@ public function testLanguageFallbackDefaults() { /** * Test old plural style @count[number] fix. + * + * @dataProvider providerTestFixOldPluralStyle */ - public function testFixOldPluralStyle() { + public function testFixOldPluralStyle($translation_value, $expected) { /** @var \Drupal\locale\StringDatabaseStorage $string_storage */ $string_storage = \Drupal::service('locale.storage'); @@ -69,25 +71,31 @@ public function testFixOldPluralStyle() { $string_storage->createTranslation([ 'lid' => $string->getId(), 'language' => 'fr', - 'translation' => '@count[2] old-plural-test', + 'translation' => $translation_value, ])->save(); - // Assert that @count[2] was fixed with caching. drupal_flush_all_caches(); $this->drupalGet(''); - $this->assertSession()->pageTextContains('@count old-plural-test'); - - // Assert that @count[2] wasn't fixed after caching. - drupal_flush_all_caches(); - $collector = new CacheCollectorHelper('locale:fr::authenticated', $this->container->get('cache.default'), $this->container->get('lock')); - $collector->set('Member for', '@count[2] old-plural back'); - $collector->destruct(); - $this->drupalGet(''); - $this->assertSession()->pageTextContains('@count[2] old-plural back'); + $this->assertSession()->pageTextContains($expected); // Assert that source not changed. $translation = $string_storage->findTranslation(['language' => 'fr', 'lid' => $string->getId()])->translation; - $this->assertSame('@count[2] old-plural-test', $translation); + $this->assertSame($translation_value, $translation); + } + + /** + * Provides data for testFixOldPluralStyle(). + * + * @return array + * An array of test data: + * - translation value + * - expected result + */ + public function providerTestFixOldPluralStyle() { + return [ + 'non-plural translation' => ['@count[2] non-plural test', '@count[2] non-plural test'], + 'plural translation' => ['@count[2] plural test' . PluralTranslatableMarkup::DELIMITER, '@count plural test'], + ]; } }