public function LocaleTranslatedSchemaDefinitionTest::testTranslatedUpdate in Drupal 8
Same name and namespace in other branches
- 9 core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php \Drupal\Tests\locale\Functional\LocaleTranslatedSchemaDefinitionTest::testTranslatedUpdate()
Tests that translations do not affect the update system.
File
- core/
modules/ locale/ tests/ src/ Functional/ LocaleTranslatedSchemaDefinitionTest.php, line 70
Class
- LocaleTranslatedSchemaDefinitionTest
- Adds and configures languages to check field schema definition.
Namespace
Drupal\Tests\locale\FunctionalCode
public function testTranslatedUpdate() {
// Visit the update page to collect any strings that may be translatable.
$user = $this
->drupalCreateUser([
'administer software updates',
]);
$this
->drupalLogin($user);
$update_url = $GLOBALS['base_url'] . '/update.php';
$this
->drupalGet($update_url, [
'external' => TRUE,
]);
/** @var \Drupal\locale\StringDatabaseStorage $stringStorage */
$stringStorage = \Drupal::service('locale.storage');
$sources = $stringStorage
->getStrings();
// Translate all source strings found.
foreach ($sources as $source) {
$stringStorage
->createTranslation([
'lid' => $source->lid,
'language' => 'fr',
'translation' => $this
->randomMachineName(100),
])
->save();
}
// Ensure that there are no updates just due to translations. Check for
// markup and a link instead of specific text because text may be
// translated.
$this
->drupalGet($update_url . '/selection', [
'external' => TRUE,
]);
$this
->updateRequirementsProblem();
$this
->drupalGet($update_url . '/selection', [
'external' => TRUE,
]);
$this
->assertRaw('messages--status', 'No pending updates.');
$this
->assertNoLinkByHref('fr/update.php/run', 'No link to run updates.');
}