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:
Pantheon Automation 2017-02-02 16:28:38 -08:00 committed by Greg Anderson
parent db56c09587
commit f1e72395cb
588 changed files with 26857 additions and 2777 deletions

View file

@ -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');
}
}

View file

@ -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');
}
/**

View file

@ -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);

View file

@ -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,

View file

@ -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;

View file

@ -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'

View 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

View file

@ -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);

View file

@ -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);

View file

@ -0,0 +1,6 @@
name: 'JS WebAssert test module'
type: module
description: 'Module for the JSWebAssert test.'
package: Testing
version: VERSION
core: 8.x

View file

@ -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

View file

@ -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'

View file

@ -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) {
}
}