Commit ffdfab24 authored by alexpott's avatar alexpott

Issue #2457703 by Gábor Hojtsy: Default translatable site name is "Drupal" (incorrectly)

parent 2492b802
......@@ -288,14 +288,8 @@ function testSchemaMappingWithParents() {
* Tests metadata applied to configuration objects.
*/
function testSchemaData() {
// Try some simple properties.
// Try a simple property.
$meta = \Drupal::service('config.typed')->get('system.site');
$property = $meta->get('name');
$this->assertTrue($property instanceof StringInterface, 'Got the right wrapper fo the site name property.');
$this->assertEqual($property->getValue(), 'Drupal', 'Got the right string value for site name data.');
$definition = $property->getDataDefinition();
$this->assertTrue($definition['translatable'], 'Got the right translatability setting for site name data.');
$property = $meta->get('page')->get('front');
$this->assertTrue($property instanceof StringInterface, 'Got the right wrapper fo the page.front property.');
$this->assertEqual($property->getValue(), 'user/login', 'Got the right value for page.front data.');
......
......@@ -7,6 +7,7 @@
namespace Drupal\locale\Tests;
use Drupal\Component\Utility\SafeMarkup;
use Drupal\simpletest\WebTestBase;
use Drupal\core\language\languageInterface;
......@@ -45,7 +46,7 @@ protected function setUp() {
public function testConfigTranslation() {
// Add custom language.
$langcode = 'xx';
$admin_user = $this->drupalCreateUser(array('administer languages', 'access administration pages', 'translate interface', 'administer modules', 'access site-wide contact form', 'administer contact forms'));
$admin_user = $this->drupalCreateUser(array('administer languages', 'access administration pages', 'translate interface', 'administer modules', 'access site-wide contact form', 'administer contact forms', 'administer site configuration'));
$this->drupalLogin($admin_user);
$name = $this->randomMachineName(16);
$edit = array(
......@@ -59,12 +60,13 @@ public function testConfigTranslation() {
$edit = array("prefix[$langcode]" => $langcode);
$this->drupalPostForm('admin/config/regional/language/detection/url', $edit, t('Save configuration'));
// Check site name string exists and create translation for it.
$string = $this->storage->findString(array('source' => 'Drupal', 'context' => '', 'type' => 'configuration'));
// Check that the maintenance message exists and create translation for it.
$source = '@site is currently under maintenance. We should be back shortly. Thank you for your patience.';
$string = $this->storage->findString(array('source' => $source, 'context' => '', 'type' => 'configuration'));
$this->assertTrue($string, 'Configuration strings have been created upon installation.');
// Translate using the UI so configuration is refreshed.
$site_name = $this->randomMachineName(20);
$message = $this->randomMachineName(20);
$search = array(
'string' => $string->source,
'langcode' => $langcode,
......@@ -75,18 +77,14 @@ public function testConfigTranslation() {
$textarea = current($textareas);
$lid = (string) $textarea[0]['name'];
$edit = array(
$lid => $site_name,
$lid => $message,
);
$this->drupalPostForm('admin/config/regional/translate', $edit, t('Save translations'));
// Get translation and check we've only got the site name.
$translation = \Drupal::languageManager()->getLanguageConfigOverride($langcode, 'system.site')->get();
// Get translation and check we've only got the message.
$translation = \Drupal::languageManager()->getLanguageConfigOverride($langcode, 'system.maintenance')->get();
$this->assertEqual(count($translation), 1, 'Got the right number of properties after translation.');
$this->assertEqual($translation['name'], $site_name, 'Got the right translation for the site name.');
// Check the translated site name is displayed.
$this->drupalGet($langcode);
$this->assertText($site_name, 'The translated site name is displayed after translations refreshed.');
$this->assertEqual($translation['message'], $message);
// Check default medium date format exists and create a translation for it.
$string = $this->storage->findString(array('source' => 'D, m/d/Y - H:i', 'context' => 'PHP date format', 'type' => 'configuration'));
......
uuid: ''
name: Drupal
name: ''
mail: ''
slogan: ''
page:
......
......@@ -18,6 +18,15 @@
*/
class TokenReplaceUnitTest extends TokenReplaceUnitTestBase {
/**
* @inheritdoc
*/
protected function setUp() {
parent::setUp();
// Set the site name to something other than an empty string.
$this->config('system.site')->set('name', 'Drupal')->save();
}
/**
* Test whether token-replacement works in various contexts.
*/
......
......@@ -644,10 +644,13 @@ function system_install() {
$cron_key = Crypt::randomBytesBase64(55);
\Drupal::state()->set('system.cron_key', $cron_key);
// Populate the site UUID.
\Drupal::configFactory()->getEditable('system.site')
->set('uuid', \Drupal::service('uuid')->generate())
->save();
// Populate the site UUID and default name (if not set).
$site = \Drupal::configFactory()->getEditable('system.site');
$site->set('uuid', \Drupal::service('uuid')->generate());
if (!$site->get('name')) {
$site->set('name', 'Drupal');
}
$site->save();
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment