Update to Drupal 8.1.9. For more information, see https://www.drupal.org/project/drupal/releases/8.1.9
This commit is contained in:
parent
f9f23cdf38
commit
09b113657a
125 changed files with 2307 additions and 385 deletions
|
@ -27,7 +27,7 @@ abstract class EntityWithUriCacheTagsTestBase extends EntityCacheTagsTestBase {
|
|||
$view_mode = $this->selectViewMode($entity_type);
|
||||
|
||||
// The default cache contexts for rendered entities.
|
||||
$entity_cache_contexts = ['languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', 'user.permissions'];
|
||||
$entity_cache_contexts = $this->getDefaultCacheContexts();
|
||||
|
||||
// Generate the standardized entity cache tags.
|
||||
$cache_tag = $this->entity->getCacheTags();
|
||||
|
@ -141,4 +141,14 @@ abstract class EntityWithUriCacheTagsTestBase extends EntityCacheTagsTestBase {
|
|||
$this->assertResponse(404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default cache contexts for rendered entities.
|
||||
*
|
||||
* @return array
|
||||
* The default cache contexts for rendered entities.
|
||||
*/
|
||||
protected function getDefaultCacheContexts() {
|
||||
return ['languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', 'user.permissions'];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\system\Tests\Installer;
|
||||
|
||||
use Drupal\Component\Utility\Crypt;
|
||||
use Drupal\simpletest\InstallerTestBase;
|
||||
|
||||
/**
|
||||
* Tests the installer when a config_directory set up but does not exist.
|
||||
*
|
||||
* @group Installer
|
||||
*/
|
||||
class InstallerConfigDirectorySetNoDirectoryErrorTest extends InstallerTestBase {
|
||||
|
||||
/**
|
||||
* The directory where the sync directory should be created during install.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $configDirectory;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() {
|
||||
$this->configDirectory = $this->publicFilesDirectory . '/config_' . Crypt::randomBytesBase64();
|
||||
$this->settings['config_directories'][CONFIG_SYNC_DIRECTORY] = (object) array(
|
||||
'value' => $this->configDirectory . '/sync',
|
||||
'required' => TRUE,
|
||||
);
|
||||
// Create the files directory early so we can test the error case.
|
||||
mkdir($this->publicFilesDirectory);
|
||||
// Create a file so the directory can not be created.
|
||||
file_put_contents($this->configDirectory, 'Test');
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Installer step: Configure settings.
|
||||
*/
|
||||
protected function setUpSettings() {
|
||||
// This step should not appear as we had a failure prior to the settings
|
||||
// screen.
|
||||
}
|
||||
|
||||
/**
|
||||
* @{inheritdoc}
|
||||
*/
|
||||
protected function setUpSite() {
|
||||
// This step should not appear as we had a failure prior to the settings
|
||||
// screen.
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that installation failed.
|
||||
*/
|
||||
public function testError() {
|
||||
$this->assertText("An automated attempt to create the directory {$this->configDirectory}/sync failed, possibly due to a permissions problem.");
|
||||
$this->assertFalse(file_exists($this->configDirectory . '/sync') && is_dir($this->configDirectory . '/sync'), "The directory {$this->configDirectory}/sync does not exist.");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\system\Tests\Installer;
|
||||
|
||||
use Drupal\Component\Utility\Crypt;
|
||||
use Drupal\simpletest\InstallerTestBase;
|
||||
|
||||
/**
|
||||
* Tests the installer when a config_directory set up but does not exist.
|
||||
*
|
||||
* @group Installer
|
||||
*/
|
||||
class InstallerConfigDirectorySetNoDirectoryTest extends InstallerTestBase {
|
||||
|
||||
/**
|
||||
* The sync directory created during the install.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $syncDirectory;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() {
|
||||
$this->syncDirectory = $this->publicFilesDirectory . '/config_' . Crypt::randomBytesBase64() . '/sync';
|
||||
$this->settings['config_directories'][CONFIG_SYNC_DIRECTORY] = (object) array(
|
||||
'value' => $this->syncDirectory,
|
||||
'required' => TRUE,
|
||||
);
|
||||
// Other directories will be created too.
|
||||
$this->settings['config_directories']['custom'] = (object) array(
|
||||
'value' => $this->publicFilesDirectory . '/config_custom',
|
||||
'required' => TRUE,
|
||||
);
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that installation succeeded.
|
||||
*/
|
||||
public function testInstaller() {
|
||||
$this->assertUrl('user/1');
|
||||
$this->assertResponse(200);
|
||||
$this->assertTrue(file_exists($this->syncDirectory) && is_dir($this->syncDirectory), "The directory {$this->syncDirectory} exists.");
|
||||
$this->assertTrue(file_exists($this->publicFilesDirectory . '/config_custom') && is_dir($this->publicFilesDirectory . '/config_custom'), "The directory {$this->publicFilesDirectory}/custom_config exists.");
|
||||
}
|
||||
|
||||
}
|
|
@ -551,10 +551,20 @@ function system_requirements($phase) {
|
|||
if (!empty($GLOBALS['config_directories'])) {
|
||||
foreach (array_keys(array_filter($GLOBALS['config_directories'])) as $type) {
|
||||
$directory = config_get_config_directory($type);
|
||||
// If we're installing Drupal try and create the config sync directory.
|
||||
if (!is_dir($directory) && $phase == 'install') {
|
||||
file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
|
||||
}
|
||||
if (!is_dir($directory)) {
|
||||
if ($phase == 'install') {
|
||||
$description = t('An automated attempt to create the directory %directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the <a href=":handbook_url">online handbook</a>.', array('%directory' => $directory, ':handbook_url' => 'https://www.drupal.org/server-permissions'));
|
||||
}
|
||||
else {
|
||||
$description = t('The directory %directory does not exist.', array('%directory' => $directory));
|
||||
}
|
||||
$requirements['config directory ' . $type] = array(
|
||||
'title' => t('Configuration directory: %type', ['%type' => $type]),
|
||||
'description' => t('The directory %directory does not exist.', array('%directory' => $directory)),
|
||||
'description' => $description,
|
||||
'severity' => REQUIREMENT_ERROR,
|
||||
);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- entity_test
|
||||
id: test_entity_reference_entity_test_view_long
|
||||
label: test_entity_reference_entity_test_view_long
|
||||
module: views
|
||||
description: ''
|
||||
tag: ''
|
||||
base_table: entity_test_mul_changed_property
|
||||
base_field: id
|
||||
core: 8.x
|
||||
display:
|
||||
default:
|
||||
display_plugin: default
|
||||
id: default
|
||||
display_title: Master
|
||||
position: 0
|
||||
display_options:
|
||||
access:
|
||||
type: none
|
||||
options: { }
|
||||
cache:
|
||||
type: tag
|
||||
options: { }
|
||||
query:
|
||||
type: views_query
|
||||
options:
|
||||
disable_sql_rewrite: false
|
||||
distinct: false
|
||||
replica: false
|
||||
query_comment: ''
|
||||
query_tags: { }
|
||||
exposed_form:
|
||||
type: basic
|
||||
options:
|
||||
submit_button: Apply
|
||||
reset_button: false
|
||||
reset_button_label: Reset
|
||||
exposed_sorts_label: 'Sort by'
|
||||
expose_sort_order: true
|
||||
sort_asc_label: Asc
|
||||
sort_desc_label: Desc
|
||||
pager:
|
||||
type: full
|
||||
options:
|
||||
items_per_page: 10
|
||||
offset: 0
|
||||
id: 0
|
||||
total_pages: null
|
||||
expose:
|
||||
items_per_page: false
|
||||
items_per_page_label: 'Items per page'
|
||||
items_per_page_options: '5, 10, 25, 50'
|
||||
items_per_page_options_all: false
|
||||
items_per_page_options_all_label: '- All -'
|
||||
offset: false
|
||||
offset_label: Offset
|
||||
tags:
|
||||
previous: '‹ Previous'
|
||||
next: 'Next ›'
|
||||
first: '« First'
|
||||
last: 'Last »'
|
||||
quantity: 9
|
||||
style:
|
||||
type: default
|
||||
options:
|
||||
grouping: { }
|
||||
row_class: ''
|
||||
default_row_class: true
|
||||
uses_fields: false
|
||||
row:
|
||||
type: fields
|
||||
options:
|
||||
inline: { }
|
||||
separator: ''
|
||||
hide_empty: false
|
||||
default_field_elements: true
|
||||
fields:
|
||||
id:
|
||||
id: id
|
||||
table: entity_test_mul_changed_property
|
||||
field: id
|
||||
entity_type: entity_test
|
||||
entity_field: id
|
||||
plugin_id: field
|
||||
id_1:
|
||||
id: id_1
|
||||
table: entity_test
|
||||
field: id
|
||||
entity_type: entity_test
|
||||
entity_field: id
|
||||
plugin_id: field
|
||||
relationship: field_test_data_with_a_long_name
|
||||
filters: { }
|
||||
sorts:
|
||||
id:
|
||||
id: id
|
||||
table: entity_test_mul_changed_property
|
||||
field: id
|
||||
entity_type: entity_test
|
||||
entity_field: id
|
||||
plugin_id: standard
|
||||
header: { }
|
||||
footer: { }
|
||||
empty: { }
|
||||
relationships:
|
||||
field_test_data_with_a_long_name:
|
||||
id: field_test_data_with_a_long_name_data
|
||||
table: entity_test_mul_changed__field_test_data_with_a_long_name
|
||||
field: field_test_data_with_a_long_name
|
||||
plugin_id: standard
|
||||
arguments: { }
|
||||
display_extenders: { }
|
||||
cache_metadata:
|
||||
contexts:
|
||||
- entity_test_view_grants
|
||||
- languages
|
||||
- 'languages:language_interface'
|
||||
max-age: 0
|
Reference in a new issue