diff --git a/core/modules/file/file.module b/core/modules/file/file.module index 9d1592de3e8a0ae0f0b781065eecb50a78a2d0e5..9f0074f7e8ba692e5ab4a067197a3f6ae30385e2 100644 --- a/core/modules/file/file.module +++ b/core/modules/file/file.module @@ -850,18 +850,18 @@ function file_save_upload($form_field_name, $validators = array(), $destination // Check for errors. if (!empty($errors)) { - $message = t('The specified file %name could not be uploaded.', array('%name' => $file->getFilename())); - if (count($errors) > 1) { - $item_list = array( + $message = array( + 'error' => array( + '#markup' => t('The specified file %name could not be uploaded.', array('%name' => $file->getFilename())), + ), + 'item_list' => array( '#theme' => 'item_list', '#items' => $errors, - ); - $message = SafeMarkup::set($message . drupal_render($item_list)); - } - else { - $message = SafeMarkup::set($message . ' ' . SafeMarkup::escape(array_pop($errors))); - } - drupal_set_message($message, 'error'); + ), + ); + // @todo Add support for render arrays in drupal_set_message()? See + // https://www.drupal.org/node/2505497. + drupal_set_message(\Drupal::service('renderer')->render($message), 'error'); $files[$i] = FALSE; continue; } diff --git a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php index 39e0d50d96fed7d3132b6dc2613ef5677329a991..9dea3f5a9a0247a62f1b0e79c40b2183573933ba 100644 --- a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php +++ b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php @@ -298,7 +298,8 @@ public function testDefaultImages() { $non_image = $this->drupalGetTestFiles('text'); $this->drupalPostForm(NULL, array('files[settings_default_image_uuid]' => drupal_realpath($non_image[0]->uri)), t("Upload")); - $this->assertText(t('The specified file text-0.txt could not be uploaded. Only files with the following extensions are allowed: png gif jpg jpeg.'), 'Non-image file cannot be used as default image.'); + $this->assertText('The specified file text-0.txt could not be uploaded.'); + $this->assertText('Only files with the following extensions are allowed: png gif jpg jpeg.'); // Confirm the default image is shown on the node form. $file = File::load($default_images['field_new']->id()); diff --git a/core/modules/image/src/Tests/ImageFieldValidateTest.php b/core/modules/image/src/Tests/ImageFieldValidateTest.php index 938176a1d0c98c91cb79b79f1c76811eb8e2a313..3822df67ae85155ca8f48f9b463dc4b4c5285653 100644 --- a/core/modules/image/src/Tests/ImageFieldValidateTest.php +++ b/core/modules/image/src/Tests/ImageFieldValidateTest.php @@ -45,9 +45,10 @@ function testResolution() { } } $this->uploadNodeImage($image_that_is_too_small, $field_name, 'article'); - $this->assertRaw(t('The specified file %name could not be uploaded.', array('%name' => $image_that_is_too_small->filename)) . ' ' . t('The image is too small; the minimum dimensions are %dimensions pixels.', array('%dimensions' => '50x50')), 'Node save failed when minimum image resolution was not met.'); + $this->assertRaw(t('The specified file %name could not be uploaded.', array('%name' => $image_that_is_too_small->filename))); + $this->assertRaw(t('The image is too small; the minimum dimensions are %dimensions pixels.', array('%dimensions' => '50x50'))); $this->uploadNodeImage($image_that_is_too_big, $field_name, 'article'); - $this->assertText(t('The image was resized to fit within the maximum allowed dimensions of 100x100 pixels.'), 'Image exceeding max resolution was properly resized.'); + $this->assertText(t('The image was resized to fit within the maximum allowed dimensions of 100x100 pixels.')); } /**