Update to Drupal 8.2.6. For more information, see https://www.drupal.org/project/drupal/releases/8.2.6
This commit is contained in:
parent
db56c09587
commit
f1e72395cb
588 changed files with 26857 additions and 2777 deletions
|
|
@ -167,7 +167,7 @@ class ModulesUninstallForm extends FormBase {
|
|||
public function validateForm(array &$form, FormStateInterface $form_state) {
|
||||
// Form submitted, but no modules selected.
|
||||
if (!array_filter($form_state->getValue('uninstall'))) {
|
||||
$form_state->setErrorByName('uninstall', $this->t('No modules selected.'));
|
||||
$form_state->setErrorByName('', $this->t('No modules selected.'));
|
||||
$form_state->setRedirect('system.modules_uninstall');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,6 +121,11 @@ class UninstallTest extends WebTestBase {
|
|||
$this->drupalGet('admin/modules/uninstall/confirm');
|
||||
$this->assertUrl('admin/modules/uninstall');
|
||||
$this->assertTitle(t('Uninstall') . ' | Drupal');
|
||||
|
||||
// Make sure the correct error is shown when no modules are selected.
|
||||
$edit = array();
|
||||
$this->drupalPostForm('admin/modules/uninstall', $edit, t('Uninstall'));
|
||||
$this->assertText(t('No modules selected.'), 'No module is selected to uninstall');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -113,7 +113,12 @@ class UncaughtExceptionTest extends WebTestBase {
|
|||
* Tests a missing dependency on a service.
|
||||
*/
|
||||
public function testMissingDependency() {
|
||||
$this->expectedExceptionMessage = 'Argument 1 passed to Drupal\error_service_test\LonelyMonkeyClass::__construct() must be an instance of Drupal\Core\Database\Connection, non';
|
||||
if (version_compare(PHP_VERSION, '7.1') < 0) {
|
||||
$this->expectedExceptionMessage = 'Argument 1 passed to Drupal\error_service_test\LonelyMonkeyClass::__construct() must be an instance of Drupal\Core\Database\Connection, non';
|
||||
}
|
||||
else {
|
||||
$this->expectedExceptionMessage = 'Too few arguments to function Drupal\error_service_test\LonelyMonkeyClass::__construct(), 0 passed';
|
||||
}
|
||||
$this->drupalGet('broken-service-class');
|
||||
$this->assertResponse(500);
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ class TwigTransTest extends WebTestBase {
|
|||
$this->assertRaw('"edit-languages-' . $langcode . '-weight"', 'Language code found.');
|
||||
|
||||
// Import the custom .po contents for the language.
|
||||
$filename = tempnam('temporary://', "po_") . '.po';
|
||||
$filename = \Drupal::service('file_system')->tempnam('temporary://', "po_") . '.po';
|
||||
file_put_contents($filename, $contents);
|
||||
$options = array(
|
||||
'files[file]' => $filename,
|
||||
|
|
|
|||
|
|
@ -837,7 +837,9 @@ function system_preprocess_block(&$variables) {
|
|||
}
|
||||
$variables['site_slogan'] = '';
|
||||
if ($variables['content']['site_slogan']['#access'] && $variables['content']['site_slogan']['#markup']) {
|
||||
$variables['site_slogan']['#markup'] = $variables['content']['site_slogan']['#markup'];
|
||||
$variables['site_slogan'] = [
|
||||
'#markup' => $variables['content']['site_slogan']['#markup'],
|
||||
];
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
core.entity_view_display.*.*.*.third_party.entity_test_third_party:
|
||||
type: mapping
|
||||
label: 'Schema for entity_test module additions to entity_view_display entity'
|
||||
mapping:
|
||||
key:
|
||||
type: string
|
||||
label: 'Label for key'
|
||||
8
core/modules/system/tests/modules/entity_test_third_party/entity_test_third_party.info.yml
vendored
Normal file
8
core/modules/system/tests/modules/entity_test_third_party/entity_test_third_party.info.yml
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
name: 'Entity test third-party settings module'
|
||||
type: module
|
||||
description: 'Provides third-party settings for test entity types.'
|
||||
package: Testing
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
dependencies:
|
||||
- entity_test
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
* @file
|
||||
* Testing behavior for JSWebAssertTest.
|
||||
*/
|
||||
|
||||
(function ($, Drupal, drupalSettings) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @type {Drupal~behavior}
|
||||
*
|
||||
* @prop {Drupal~behaviorAttach} attach
|
||||
* Makes changes in the DOM to be able to test the completion of AJAX in assertWaitOnAjaxRequest.
|
||||
*/
|
||||
Drupal.behaviors.js_webassert_test_wait_for_ajax_request = {
|
||||
attach: function (context) {
|
||||
$('input[name="test_assert_wait_on_ajax_input"]').val('js_webassert_test');
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery, Drupal, drupalSettings);
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
/**
|
||||
* @file
|
||||
* Testing behavior for JSWebAssertTest.
|
||||
*/
|
||||
|
||||
(function ($, Drupal, drupalSettings) {
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @type {Drupal~behavior}
|
||||
*
|
||||
* @prop {Drupal~behaviorAttach} attach
|
||||
* Makes changes in the DOM to be able to test the completion of AJAX in assertWaitOnAjaxRequest.
|
||||
*/
|
||||
Drupal.behaviors.js_webassert_test_wait_for_element = {
|
||||
attach: function (context) {
|
||||
$('#js_webassert_test_element_invisible').show();
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery, Drupal, drupalSettings);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
name: 'JS WebAssert test module'
|
||||
type: module
|
||||
description: 'Module for the JSWebAssert test.'
|
||||
package: Testing
|
||||
version: VERSION
|
||||
core: 8.x
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
wait_for_ajax_request:
|
||||
version: VERSION
|
||||
js:
|
||||
js/js_webassert_test.wait_for_ajax_request.js: {}
|
||||
dependencies:
|
||||
- core/jquery
|
||||
- core/drupal
|
||||
wait_for_element:
|
||||
version: VERSION
|
||||
js:
|
||||
js/js_webassert_test.wait_for_element.js: {}
|
||||
dependencies:
|
||||
- core/jquery
|
||||
- core/drupal
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
js_webassert_test.js_webassert_test_form:
|
||||
path: '/js_webassert_test_form'
|
||||
defaults:
|
||||
_form: 'Drupal\js_webassert_test\Form\JsWebAssertTestForm'
|
||||
_title: 'JsWebAssertForm'
|
||||
requirements:
|
||||
_access: 'TRUE'
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\js_webassert_test\Form;
|
||||
|
||||
use Drupal\Core\Form\FormBase;
|
||||
use Drupal\Core\Form\FormStateInterface;
|
||||
use Drupal\Core\Url;
|
||||
|
||||
/**
|
||||
* Test form for JSWebAssert JavaScriptTestBase.
|
||||
*/
|
||||
class JsWebAssertTestForm extends FormBase {
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFormId() {
|
||||
return 'js_webassert_test_form';
|
||||
}
|
||||
|
||||
/**
|
||||
* Form for testing the addition of various types of elements via AJAX.
|
||||
*/
|
||||
public function buildForm(array $form, FormStateInterface $form_state) {
|
||||
$form['#prefix'] = '<div id="js_webassert_test_form_wrapper">';
|
||||
$form['#suffix'] = '</div>';
|
||||
|
||||
// Button to test for the waitForButton() assertion.
|
||||
$form['test_button'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Add button'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addButton',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
// Button to test for the waitForLink() assertion.
|
||||
$form['test_link'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Add link'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addLink',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
// Button to test for the waitForField() assertion.
|
||||
$form['test_field'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Add field'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addField',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
// Button to test for the waitForId() assertion.
|
||||
$form['test_id'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Add ID'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addId',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
|
||||
// Button to test the assertWaitOnAjaxRequest() assertion.
|
||||
$form['test_wait_for_element_visible'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Test waitForElementVisible'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addWaitForElementVisible',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
|
||||
// Button to test the assertWaitOnAjaxRequest() assertion.
|
||||
$form['test_assert_wait_on_ajax_request'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => $this->t('Test assertWaitOnAjaxRequest'),
|
||||
'#button_type' => 'primary',
|
||||
'#ajax' => [
|
||||
'callback' => 'Drupal\js_webassert_test\Form\JsWebAssertTestForm::addAssertWaitOnAjaxRequest',
|
||||
'progress' => [
|
||||
'type' => 'throbber',
|
||||
'message' => NULL,
|
||||
],
|
||||
'wrapper' => 'js_webassert_test_form_wrapper',
|
||||
],
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax callback for the "Add button" button.
|
||||
*/
|
||||
public static function addButton(array $form, FormStateInterface $form_state) {
|
||||
$form['added_button'] = [
|
||||
'#type' => 'submit',
|
||||
'#value' => 'Added button',
|
||||
'#button_type' => 'primary',
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax callback for the "Add link" button.
|
||||
*/
|
||||
public static function addLink(array $form, FormStateInterface $form_state) {
|
||||
$form['added_link'] = [
|
||||
'#title' => 'Added link',
|
||||
'#type' => 'link',
|
||||
'#url' => Url::fromRoute('js_webassert_test.js_webassert_test_form')
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
/**
|
||||
* Ajax callback for the "Add field" button.
|
||||
*/
|
||||
public static function addField(array $form, FormStateInterface $form_state) {
|
||||
$form['added_field'] = [
|
||||
'#type' => 'textfield',
|
||||
'#title' => 'Added textfield',
|
||||
'#name' => 'added_field',
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax callback for the "Add ID" button.
|
||||
*/
|
||||
public static function addId(array $form, FormStateInterface $form_state) {
|
||||
$form['added_id'] = [
|
||||
'#id' => 'js_webassert_test_field_id',
|
||||
'#type' => 'submit',
|
||||
'#value' => 'Added ID',
|
||||
'#button_type' => 'primary',
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax callback for the "Test waitForAjax" button.
|
||||
*/
|
||||
public static function addAssertWaitOnAjaxRequest(array $form, FormStateInterface $form_state) {
|
||||
// Attach the library necessary for this test.
|
||||
$form['#attached']['library'][] = 'js_webassert_test/wait_for_ajax_request';
|
||||
|
||||
$form['test_assert_wait_on_ajax_input'] = [
|
||||
'#type' => 'textfield',
|
||||
'#name' => 'test_assert_wait_on_ajax_input',
|
||||
];
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ajax callback for the "Test waitForElementVisible" button.
|
||||
*/
|
||||
public static function addWaitForElementVisible(array $form, FormStateInterface $form_state) {
|
||||
// Attach the library necessary for this test.
|
||||
$form['#attached']['library'][] = 'js_webassert_test/wait_for_element';
|
||||
|
||||
$form['element_invisible'] = [
|
||||
'#id' => 'js_webassert_test_element_invisible',
|
||||
'#type' => 'submit',
|
||||
'#value' => 'Added WaitForElementVisible',
|
||||
'#button_type' => 'primary',
|
||||
'#attributes' => [
|
||||
'style' => ['display: none;'],
|
||||
],
|
||||
];
|
||||
return $form;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function submitForm(array &$form, FormStateInterface $form_state) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in a new issue