Issue #2511036 by martins.kajins, mdrummond, Cottser: image-widget.html.twig never gets used (image_widget gets overridden by FieldWidget::process)

8.0.x
Alex Pott 2015-09-26 15:43:39 +02:00
parent ba447d77ab
commit 08b1d335b1
2 changed files with 40 additions and 1 deletions

View File

@ -370,7 +370,10 @@ class FileWidget extends WidgetBase implements ContainerFactoryPluginInterface {
$item = $element['#value'];
$item['fids'] = $element['fids']['#value'];
$element['#theme'] = 'file_widget';
// Prevent the file widget from overriding the image widget.
if (!isset($element['#theme'])) {
$element['#theme'] = 'file_widget';
}
// Add the display field if enabled.
if ($element['#display_field']) {

View File

@ -0,0 +1,36 @@
<?php
/**
* @file
* Contains \Drupal\image\Tests\ImageFieldWidgetTest.
*/
namespace Drupal\image\Tests;
/**
* Tests the image field widget.
*
* @group image
*/
class ImageFieldWidgetTest extends ImageFieldTestBase {
/**
* Tests file widget element.
*/
public function testWidgetElement() {
// Check for image widget in add/node/article page
$field_name = strtolower($this->randomMachineName());
$min_resolution = 50;
$max_resolution = 100;
$field_settings = array(
'max_resolution' => $max_resolution . 'x' . $max_resolution,
'min_resolution' => $min_resolution . 'x' . $min_resolution,
'alt_field' => 0,
);
$this->createImageField($field_name, 'article', array(), $field_settings);
$this->drupalGet('node/add/article');
$this->assertNotEqual(0, count($this->xpath('//div[contains(@class, "field--widget-image-image")]')), 'Image field widget found on add/node page', 'Browser');
}
}