Issue #3278418 by danflanagan8, quietone, nod_: Media Library Tests should not rely on Classy
(cherry picked from commit f384111416
)
merge-requests/2622/head
parent
bb7750abb7
commit
64de78be76
|
@ -38,7 +38,7 @@ class ContentModerationTest extends WebDriverTestBase {
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
protected $defaultTheme = 'classy';
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User with the 'administer media' permission.
|
* User with the 'administer media' permission.
|
||||||
|
|
|
@ -19,6 +19,19 @@ class EntityReferenceWidgetTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['field_ui'];
|
protected static $modules = ['field_ui'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The theme to install as the default for testing.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*
|
||||||
|
* @todo This test's reliance on classes in order to assert the order of
|
||||||
|
* field items makes Stark a bad fit as a base theme. Change the default
|
||||||
|
* theme to Starterkit once it is stable.
|
||||||
|
*
|
||||||
|
* @see https://www.drupal.org/project/drupal/issues/3281695
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'classy';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test media items.
|
* Test media items.
|
||||||
*
|
*
|
||||||
|
|
|
@ -14,6 +14,11 @@ class FieldUiIntegrationTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['field_ui'];
|
protected static $modules = ['field_ui'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -18,7 +18,7 @@ abstract class MediaLibraryTestBase extends WebDriverTestBase {
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
protected $defaultTheme = 'classy';
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create media items.
|
* Create media items.
|
||||||
|
@ -333,7 +333,6 @@ abstract class MediaLibraryTestBase extends WebDriverTestBase {
|
||||||
$assert_session->elementNotExists('css', '[data-drupal-selector$="preview"]', $fields);
|
$assert_session->elementNotExists('css', '[data-drupal-selector$="preview"]', $fields);
|
||||||
$assert_session->buttonNotExists('Remove', $fields);
|
$assert_session->buttonNotExists('Remove', $fields);
|
||||||
$assert_session->elementNotExists('css', '[data-drupal-selector$="filename"]', $fields);
|
$assert_session->elementNotExists('css', '[data-drupal-selector$="filename"]', $fields);
|
||||||
$assert_session->elementNotExists('css', '.file-size', $fields);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,6 +14,11 @@ class MediaOverviewTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['block'];
|
protected static $modules = ['block'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +69,7 @@ class MediaOverviewTest extends MediaLibraryTestBase {
|
||||||
$assert_session->linkExists('Table');
|
$assert_session->linkExists('Table');
|
||||||
|
|
||||||
// We should see the table view and a link to add media.
|
// We should see the table view and a link to add media.
|
||||||
$assert_session->elementExists('css', '.view-media .views-table');
|
$assert_session->elementExists('css', '[data-drupal-selector="views-form-media-media-page-list"] table');
|
||||||
$assert_session->linkExists('Add media');
|
$assert_session->linkExists('Add media');
|
||||||
|
|
||||||
// Go to the grid display for the rest of the test.
|
// Go to the grid display for the rest of the test.
|
||||||
|
@ -78,8 +83,12 @@ class MediaOverviewTest extends MediaLibraryTestBase {
|
||||||
$assert_session->pageTextContains('Dog');
|
$assert_session->pageTextContains('Dog');
|
||||||
$assert_session->pageTextContains('Turtle');
|
$assert_session->pageTextContains('Turtle');
|
||||||
|
|
||||||
// Verify that the media name does not contain a link.
|
// Verify that the media name does not contain a link. The selector is
|
||||||
$assert_session->elementNotExists('css', '.media-library-item__name a');
|
// tricky, so start by asserting ".js-media-library-item-preview + div"
|
||||||
|
// can select a div containing a media name.
|
||||||
|
$assert_session->elementExists('css', '.js-media-library-item-preview + div:contains("Dog")');
|
||||||
|
$assert_session->elementExists('css', '.js-media-library-item-preview + div:contains("Turtle")');
|
||||||
|
$assert_session->elementNotExists('css', '.js-media-library-item-preview + div a');
|
||||||
// Verify that there are links to edit and delete media items.
|
// Verify that there are links to edit and delete media items.
|
||||||
$assert_session->linkExists('Edit Dog');
|
$assert_session->linkExists('Edit Dog');
|
||||||
$assert_session->linkExists('Delete Turtle');
|
$assert_session->linkExists('Delete Turtle');
|
||||||
|
|
|
@ -37,7 +37,7 @@ class TranslationsTest extends WebDriverTestBase {
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
protected $defaultTheme = 'classy';
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
|
@ -127,7 +127,7 @@ class TranslationsTest extends WebDriverTestBase {
|
||||||
// regardless of the interface language.
|
// regardless of the interface language.
|
||||||
$this->drupalGet('nl/admin/content/media-grid');
|
$this->drupalGet('nl/admin/content/media-grid');
|
||||||
$assert_session->elementsCount('css', '.js-media-library-item', 6);
|
$assert_session->elementsCount('css', '.js-media-library-item', 6);
|
||||||
$media_items = $page->findAll('css', '.media-library-item__name');
|
$media_items = $page->findAll('css', '.js-media-library-item-preview + div');
|
||||||
$media_names = [];
|
$media_names = [];
|
||||||
foreach ($media_items as $media_item) {
|
foreach ($media_items as $media_item) {
|
||||||
$media_names[] = $media_item->getText();
|
$media_names[] = $media_item->getText();
|
||||||
|
@ -138,7 +138,7 @@ class TranslationsTest extends WebDriverTestBase {
|
||||||
|
|
||||||
$this->drupalGet('es/admin/content/media-grid');
|
$this->drupalGet('es/admin/content/media-grid');
|
||||||
$assert_session->elementsCount('css', '.js-media-library-item', 6);
|
$assert_session->elementsCount('css', '.js-media-library-item', 6);
|
||||||
$media_items = $page->findAll('css', '.media-library-item__name');
|
$media_items = $page->findAll('css', '.js-media-library-item-preview + div');
|
||||||
$media_names = [];
|
$media_names = [];
|
||||||
foreach ($media_items as $media_item) {
|
foreach ($media_items as $media_item) {
|
||||||
$media_names[] = $media_item->getText();
|
$media_names[] = $media_item->getText();
|
||||||
|
@ -153,7 +153,7 @@ class TranslationsTest extends WebDriverTestBase {
|
||||||
$assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click();
|
$assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click();
|
||||||
$assert_session->waitForText('Add or select media');
|
$assert_session->waitForText('Add or select media');
|
||||||
$assert_session->elementsCount('css', '.js-media-library-item', 4);
|
$assert_session->elementsCount('css', '.js-media-library-item', 4);
|
||||||
$media_items = $page->findAll('css', '.media-library-item__name');
|
$media_items = $page->findAll('css', '.js-media-library-item-preview + div');
|
||||||
$media_names = [];
|
$media_names = [];
|
||||||
foreach ($media_items as $media_item) {
|
foreach ($media_items as $media_item) {
|
||||||
$media_names[] = $media_item->getText();
|
$media_names[] = $media_item->getText();
|
||||||
|
@ -166,7 +166,7 @@ class TranslationsTest extends WebDriverTestBase {
|
||||||
$assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click();
|
$assert_session->elementExists('css', '.js-media-library-open-button[name^="field_media"]')->click();
|
||||||
$assert_session->waitForText('Add or select media');
|
$assert_session->waitForText('Add or select media');
|
||||||
$assert_session->elementsCount('css', '.js-media-library-item', 4);
|
$assert_session->elementsCount('css', '.js-media-library-item', 4);
|
||||||
$media_items = $page->findAll('css', '.media-library-item__name');
|
$media_items = $page->findAll('css', '.js-media-library-item-preview + div');
|
||||||
$media_names = [];
|
$media_names = [];
|
||||||
foreach ($media_items as $media_item) {
|
foreach ($media_items as $media_item) {
|
||||||
$media_names[] = $media_item->getText();
|
$media_names[] = $media_item->getText();
|
||||||
|
|
|
@ -14,6 +14,11 @@ class ViewsUiIntegrationTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['views_ui'];
|
protected static $modules = ['views_ui'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -51,8 +56,8 @@ class ViewsUiIntegrationTest extends MediaLibraryTestBase {
|
||||||
$this->waitForElementsCount('css', '.js-media-library-item', 8);
|
$this->waitForElementsCount('css', '.js-media-library-item', 8);
|
||||||
|
|
||||||
// Assert that filtering works in live preview.
|
// Assert that filtering works in live preview.
|
||||||
$page->find('css', '.js-media-library-view .view-filters')->fillField('name', 'snake');
|
$page->find('css', '.js-media-library-view')->fillField('name', 'snake');
|
||||||
$page->find('css', '.js-media-library-view .view-filters')->pressButton('Apply filters');
|
$page->find('css', '.js-media-library-view')->pressButton('Apply filters');
|
||||||
$this->waitForElementsCount('css', '.js-media-library-item', 1);
|
$this->waitForElementsCount('css', '.js-media-library-item', 1);
|
||||||
|
|
||||||
// Test the same routine but in the view for the table widget.
|
// Test the same routine but in the view for the table widget.
|
||||||
|
@ -60,8 +65,8 @@ class ViewsUiIntegrationTest extends MediaLibraryTestBase {
|
||||||
$this->waitForElementsCount('css', '.js-media-library-item', 8);
|
$this->waitForElementsCount('css', '.js-media-library-item', 8);
|
||||||
|
|
||||||
// Assert that filtering works in live preview.
|
// Assert that filtering works in live preview.
|
||||||
$page->find('css', '.js-media-library-view .view-filters')->fillField('name', 'snake');
|
$page->find('css', '.js-media-library-view')->fillField('name', 'snake');
|
||||||
$page->find('css', '.js-media-library-view .view-filters')->pressButton('Apply filters');
|
$page->find('css', '.js-media-library-view')->pressButton('Apply filters');
|
||||||
$this->waitForElementsCount('css', '.js-media-library-item', 1);
|
$this->waitForElementsCount('css', '.js-media-library-item', 1);
|
||||||
|
|
||||||
// We cannot test clicking the 'Insert selected' button in either view
|
// We cannot test clicking the 'Insert selected' button in either view
|
||||||
|
|
|
@ -14,6 +14,11 @@ use Drupal\user\RoleInterface;
|
||||||
*/
|
*/
|
||||||
class WidgetAccessTest extends MediaLibraryTestBase {
|
class WidgetAccessTest extends MediaLibraryTestBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that the widget access works as expected.
|
* Tests that the widget access works as expected.
|
||||||
*/
|
*/
|
||||||
|
@ -80,11 +85,11 @@ class WidgetAccessTest extends MediaLibraryTestBase {
|
||||||
'view media',
|
'view media',
|
||||||
]);
|
]);
|
||||||
$this->drupalGet('admin/content/media-widget', $url_options);
|
$this->drupalGet('admin/content/media-widget', $url_options);
|
||||||
$assert_session->elementExists('css', '.view-media-library');
|
$assert_session->elementExists('css', '.js-media-library-view');
|
||||||
$this->drupalGet('admin/content/media-widget-table', $url_options);
|
$this->drupalGet('admin/content/media-widget-table', $url_options);
|
||||||
$assert_session->elementExists('css', '.view-media-library');
|
$assert_session->elementExists('css', '.js-media-library-view');
|
||||||
$this->drupalGet('media-library', $url_options);
|
$this->drupalGet('media-library', $url_options);
|
||||||
$assert_session->elementExists('css', '.view-media-library');
|
$assert_session->elementExists('css', '.js-media-library-view');
|
||||||
// Assert the user does not have access to the media add form if the user
|
// Assert the user does not have access to the media add form if the user
|
||||||
// does not have the 'create media' permission.
|
// does not have the 'create media' permission.
|
||||||
$assert_session->fieldNotExists('files[upload][]');
|
$assert_session->fieldNotExists('files[upload][]');
|
||||||
|
@ -104,7 +109,7 @@ class WidgetAccessTest extends MediaLibraryTestBase {
|
||||||
'create media',
|
'create media',
|
||||||
]);
|
]);
|
||||||
$this->drupalGet('media-library', $url_options);
|
$this->drupalGet('media-library', $url_options);
|
||||||
$assert_session->elementExists('css', '.view-media-library');
|
$assert_session->elementExists('css', '.js-media-library-view');
|
||||||
$assert_session->fieldExists('Add files');
|
$assert_session->fieldExists('Add files');
|
||||||
|
|
||||||
// Assert the media library can not be accessed if the required state
|
// Assert the media library can not be accessed if the required state
|
||||||
|
|
|
@ -12,6 +12,11 @@ use Drupal\user\RoleInterface;
|
||||||
*/
|
*/
|
||||||
class WidgetAnonymousTest extends MediaLibraryTestBase {
|
class WidgetAnonymousTest extends MediaLibraryTestBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -20,6 +20,11 @@ class WidgetOEmbedTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['media_test_oembed'];
|
protected static $modules = ['media_test_oembed'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -77,6 +82,10 @@ class WidgetOEmbedTest extends MediaLibraryTestBase {
|
||||||
// consistently match their label's "for" attribute.
|
// consistently match their label's "for" attribute.
|
||||||
$assert_session->assertWaitOnAjaxRequest();
|
$assert_session->assertWaitOnAjaxRequest();
|
||||||
$this->waitForText('The media item has been created but has not yet been saved.');
|
$this->waitForText('The media item has been created but has not yet been saved.');
|
||||||
|
// There is no other selected media and this is not the advanced ui.
|
||||||
|
// Assert that the Additional selected media element does not appear.
|
||||||
|
$assert_session->pageTextNotContains('Additional selected media');
|
||||||
|
$assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]');
|
||||||
// Assert the name field contains the remote video title.
|
// Assert the name field contains the remote video title.
|
||||||
$assert_session->fieldValueEquals('Name', $youtube_title);
|
$assert_session->fieldValueEquals('Name', $youtube_title);
|
||||||
$this->pressSaveButton();
|
$this->pressSaveButton();
|
||||||
|
@ -137,7 +146,9 @@ class WidgetOEmbedTest extends MediaLibraryTestBase {
|
||||||
$assert_session->assertWaitOnAjaxRequest();
|
$assert_session->assertWaitOnAjaxRequest();
|
||||||
$this->waitForText('The media item has been created but has not yet been saved.');
|
$this->waitForText('The media item has been created but has not yet been saved.');
|
||||||
$page->fillField('Name', 'Custom video title');
|
$page->fillField('Name', 'Custom video title');
|
||||||
$assert_session->elementNotExists('css', '.media-library-add-form__selected-media');
|
// The non-advanced ui should not show the Additional selected media.
|
||||||
|
$assert_session->pageTextNotContains('Additional selected media');
|
||||||
|
$assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]');
|
||||||
$this->pressSaveButton();
|
$this->pressSaveButton();
|
||||||
|
|
||||||
// Load the created media item.
|
// Load the created media item.
|
||||||
|
@ -258,6 +269,9 @@ class WidgetOEmbedTest extends MediaLibraryTestBase {
|
||||||
// consistently match their label's "for" attribute.
|
// consistently match their label's "for" attribute.
|
||||||
$assert_session->assertWaitOnAjaxRequest();
|
$assert_session->assertWaitOnAjaxRequest();
|
||||||
$this->waitForText('The media item has been created but has not yet been saved.');
|
$this->waitForText('The media item has been created but has not yet been saved.');
|
||||||
|
// Assert that Additional selected media does not appear.
|
||||||
|
$assert_session->pageTextNotContains('Additional selected media');
|
||||||
|
$assert_session->elementNotExists('css', '[data-drupal-selector="edit-selection"]');
|
||||||
// Assert the name field contains the remote video title.
|
// Assert the name field contains the remote video title.
|
||||||
$assert_session->fieldValueEquals('Name', $youtube_title);
|
$assert_session->fieldValueEquals('Name', $youtube_title);
|
||||||
$this->saveAnd('select');
|
$this->saveAnd('select');
|
||||||
|
@ -317,6 +331,9 @@ class WidgetOEmbedTest extends MediaLibraryTestBase {
|
||||||
// consistently match their label's "for" attribute.
|
// consistently match their label's "for" attribute.
|
||||||
$assert_session->assertWaitOnAjaxRequest();
|
$assert_session->assertWaitOnAjaxRequest();
|
||||||
$this->waitForText('The media item has been created but has not yet been saved.');
|
$this->waitForText('The media item has been created but has not yet been saved.');
|
||||||
|
// The advanced ui should show the Additional selected media.
|
||||||
|
$assert_session->pageTextContains('Additional selected media');
|
||||||
|
$assert_session->elementExists('css', '[data-drupal-selector="edit-selection"]');
|
||||||
$page->fillField('Name', 'Custom video title');
|
$page->fillField('Name', 'Custom video title');
|
||||||
$assert_session->checkboxChecked("Select $youtube_title", $this->getSelectionArea());
|
$assert_session->checkboxChecked("Select $youtube_title", $this->getSelectionArea());
|
||||||
$this->saveAnd('select');
|
$this->saveAnd('select');
|
||||||
|
|
|
@ -17,6 +17,11 @@ class WidgetUploadTest extends MediaLibraryTestBase {
|
||||||
|
|
||||||
use TestFileCreationTrait;
|
use TestFileCreationTrait;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that uploads in the Media library's widget works as expected.
|
* Tests that uploads in the Media library's widget works as expected.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -9,6 +9,11 @@ namespace Drupal\Tests\media_library\FunctionalJavascript;
|
||||||
*/
|
*/
|
||||||
class WidgetViewsTest extends MediaLibraryTestBase {
|
class WidgetViewsTest extends MediaLibraryTestBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -79,13 +84,18 @@ class WidgetViewsTest extends MediaLibraryTestBase {
|
||||||
$assert_session->buttonNotExists('Apply filters', $button_pane);
|
$assert_session->buttonNotExists('Apply filters', $button_pane);
|
||||||
|
|
||||||
// Assert the pager works as expected.
|
// Assert the pager works as expected.
|
||||||
$assert_session->elementTextContains('css', '.js-media-library-view .pager__item.is-active', 'Page 1');
|
// An active pager item is not linked and contains "Page #" as text.
|
||||||
|
$assert_session->elementTextContains('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1)', 'Page 1');
|
||||||
|
$assert_session->elementNotExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1) a');
|
||||||
|
$assert_session->elementExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(2) a');
|
||||||
$this->assertCount(24, $this->getCheckboxes());
|
$this->assertCount(24, $this->getCheckboxes());
|
||||||
$page->clickLink('Next page');
|
$page->clickLink('Next page');
|
||||||
$this->waitForElementTextContains('.js-media-library-view .pager__item.is-active', 'Page 2');
|
$this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(2)', 'Page 2');
|
||||||
|
$assert_session->elementExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(1) a');
|
||||||
|
$assert_session->elementNotExists('css', '.js-media-library-view .js-pager__items > li:nth-of-type(2) a');
|
||||||
$this->assertCount(1, $this->getCheckboxes());
|
$this->assertCount(1, $this->getCheckboxes());
|
||||||
$page->clickLink('Previous page');
|
$page->clickLink('Previous page');
|
||||||
$this->waitForElementTextContains('.js-media-library-view .pager__item.is-active', 'Page 1');
|
$this->waitForElementTextContains('.js-media-library-view .js-pager__items > li:nth-of-type(1)', 'Page 1');
|
||||||
$this->assertCount(24, $this->getCheckboxes());
|
$this->assertCount(24, $this->getCheckboxes());
|
||||||
|
|
||||||
$this->switchToMediaLibraryTable();
|
$this->switchToMediaLibraryTable();
|
||||||
|
|
|
@ -17,6 +17,11 @@ class WidgetWithoutTypesTest extends MediaLibraryTestBase {
|
||||||
*/
|
*/
|
||||||
protected static $modules = ['field_ui'];
|
protected static $modules = ['field_ui'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected $defaultTheme = 'stark';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that the widget works as expected when media types are deleted.
|
* Tests that the widget works as expected when media types are deleted.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue