Issue #3275807 by danflanagan8, nod_, larowlan: Media Tests should not rely on Classy
parent
ebe774d4b9
commit
1f14841c50
|
@ -45,7 +45,14 @@ class CKEditorIntegrationTest extends WebDriverTestBase {
|
|||
protected static $modules = ['node', 'ckeditor', 'filter', 'ckeditor_test'];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* The theme to install as the default for testing.
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
* @todo This test's reliance on classes 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/3275827
|
||||
*/
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
|
|
@ -29,7 +29,7 @@ class MediaAccessTest extends MediaFunctionalTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
|
@ -185,11 +185,13 @@ class MediaAccessTest extends MediaFunctionalTestBase {
|
|||
$this->clickLink('Media');
|
||||
$this->assertCacheContext('user');
|
||||
$assert_session->statusCodeEquals(200);
|
||||
$assert_session->elementExists('css', '.view-media');
|
||||
$assert_session->pageTextContains($this->loggedInUser->getDisplayName());
|
||||
$assert_session->pageTextContains($this->nonAdminUser->getDisplayName());
|
||||
$assert_session->linkByHrefExists('/media/' . $media->id());
|
||||
$assert_session->linkByHrefExists('/media/' . $user_media->id());
|
||||
$assert_session->elementExists('css', '.views-element-container');
|
||||
// First row of the View contains media created by admin user.
|
||||
$assert_session->elementTextEquals('xpath', '//div[@class="views-element-container"]//tbody/tr[1]/td[contains(@class, "views-field-uid")]/a', $this->adminUser->getDisplayName());
|
||||
$assert_session->elementTextEquals('xpath', "//div[@class='views-element-container']//tbody/tr[1]/td[contains(@class, 'views-field-name')]/a[contains(@href, '/media/{$media->id()}')]", 'Unnamed');
|
||||
// Second row of the View contains media created by non-admin user.
|
||||
$assert_session->elementTextEquals('xpath', '//div[@class="views-element-container"]//tbody/tr[2]/td[contains(@class, "views-field-uid")]/a', $this->nonAdminUser->getDisplayName());
|
||||
$assert_session->elementTextEquals('xpath', "//div[@class='views-element-container']//tbody/tr[2]/td[contains(@class, 'views-field-name')]/a[contains(@href, '/media/{$user_media->id()}')]", 'Unnamed');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,7 +16,7 @@ class MediaOverviewPageTest extends MediaFunctionalTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
|
@ -133,11 +133,9 @@ class MediaOverviewPageTest extends MediaFunctionalTestBase {
|
|||
$this->assertSame($expected, $changed_element1->getText());
|
||||
|
||||
// Operations.
|
||||
$edit_link1 = $assert_session->elementExists('css', 'td.views-field-operations li.edit a', $row1);
|
||||
$this->assertSame('Edit', $edit_link1->getText());
|
||||
$assert_session->elementExists('css', 'td.views-field-operations li a:contains("Edit")', $row1);
|
||||
$assert_session->linkByHrefExists('/media/' . $media1->id() . '/edit');
|
||||
$delete_link1 = $assert_session->elementExists('css', 'td.views-field-operations li.delete a', $row1);
|
||||
$this->assertSame('Delete', $delete_link1->getText());
|
||||
$assert_session->elementExists('css', 'td.views-field-operations li a:contains("Delete")', $row1);
|
||||
$assert_session->linkByHrefExists('/media/' . $media1->id() . '/delete');
|
||||
|
||||
// Make the user the owner of the unpublished media item and assert the
|
||||
|
|
|
@ -20,7 +20,7 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
|
@ -62,8 +62,10 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
$media->save();
|
||||
|
||||
$this->drupalGet('media/' . $media->id());
|
||||
// Verify the "name" field is really not present.
|
||||
$assert_session->elementNotExists('css', '.field--name-name');
|
||||
// Verify the "name" field is really not present. The name should be in the
|
||||
// h1 with no additional markup in the h1.
|
||||
$assert_session->elementTextContains('css', 'h1', $media->getName());
|
||||
$assert_session->elementNotExists('css', 'h1 div');
|
||||
|
||||
// Enable the field on the display and verify it becomes visible on the UI.
|
||||
$this->drupalGet("/admin/structure/media/manage/{$media_type->id()}/display");
|
||||
|
@ -73,10 +75,10 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
$assert_session->waitForElementVisible('css', '#edit-fields-name-settings-edit');
|
||||
$page->pressButton('Save');
|
||||
$this->drupalGet('media/' . $media->id());
|
||||
// Verify the name is present, and its text matches what is expected.
|
||||
$assert_session->elementExists('css', '.field--name-name');
|
||||
$name_field = $page->find('css', '.field--name-name .field__item');
|
||||
$this->assertSame($media->label(), $name_field->getText());
|
||||
// Verify the name is present, and its text matches what is expected. Now
|
||||
// there should be markup in the h1.
|
||||
$assert_session->elementTextContains('xpath', '//h1/div/div[1]', 'Name');
|
||||
$assert_session->elementTextContains('xpath', '//h1/div/div[2]', $media->getName());
|
||||
|
||||
// In the standard profile, there are some pre-cooked types. Make sure the
|
||||
// elements configured on their displays are the expected ones.
|
||||
|
@ -100,23 +102,22 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
$this->drupalGet('/media/' . $image_media_id);
|
||||
|
||||
// Check if the default media name is generated as expected.
|
||||
$assert_session->elementTextContains('css', 'h1', $image_media_name);
|
||||
$assert_session->elementTextContains('xpath', '//h1', $image_media_name);
|
||||
// Here we expect to see only the image, nothing else.
|
||||
// Assert only one element in the content region.
|
||||
$this->assertCount(1, $page->findAll('css', '.media--type-image > div'));
|
||||
$media_item = $assert_session->elementExists('xpath', '//div[@class="layout-content"]/div/div[2]');
|
||||
$assert_session->elementsCount('xpath', '/div', 1, $media_item);
|
||||
// Assert the image is present inside the media element.
|
||||
$media_item = $assert_session->elementExists('css', '.media--type-image > div');
|
||||
$assert_session->elementExists('css', 'img', $media_item);
|
||||
$media_image = $assert_session->elementExists('xpath', '//img', $media_item);
|
||||
// Assert that the image src uses the large image style, the label is
|
||||
// visually hidden, and there is no link to the image file.
|
||||
$media_image = $assert_session->elementExists('css', '.media--type-image img');
|
||||
/** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */
|
||||
$file_url_generator = \Drupal::service('file_url_generator');
|
||||
$expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/example_1.jpeg'));
|
||||
$this->assertStringContainsString($expected_image_src, $media_image->getAttribute('src'));
|
||||
$field = $assert_session->elementExists('css', '.field--name-field-media-image');
|
||||
$assert_session->elementExists('css', '.field__label.visually-hidden', $field);
|
||||
$assert_session->elementNotExists('css', 'a', $field);
|
||||
$field = $assert_session->elementExists('xpath', '/div[1]', $media_item);
|
||||
$assert_session->elementExists('xpath', '/div[@class="visually-hidden"]', $field);
|
||||
$assert_session->elementNotExists('xpath', '//a', $field);
|
||||
|
||||
$test_filename = $this->randomMachineName() . '.txt';
|
||||
$test_filepath = 'public://' . $test_filename;
|
||||
|
@ -134,10 +135,10 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
$assert_session->elementTextContains('css', 'h1', $test_filename);
|
||||
// Here we expect to see only the linked filename.
|
||||
// Assert only one element in the content region.
|
||||
$this->assertCount(1, $page->findAll('css', 'article.media--type-document > div'));
|
||||
$media_item = $assert_session->elementExists('xpath', '//div[@class="layout-content"]/div/div[2]');
|
||||
$assert_session->elementsCount('xpath', '/div', 1, $media_item);
|
||||
// Assert the file link is present, and its text matches the filename.
|
||||
$assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a');
|
||||
$link = $page->find('css', 'article.media--type-document .field--name-field-media-document a');
|
||||
$link = $assert_session->elementExists('xpath', '//a', $media_item);
|
||||
$this->assertSame($test_filename, $link->getText());
|
||||
|
||||
// Create a node type "page" to use as host entity.
|
||||
|
@ -176,7 +177,7 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
\Drupal::service('entity_display.repository')->getViewDisplay('node', $node_type->id())
|
||||
->setComponent('field_related_media', [
|
||||
'type' => 'entity_reference_entity_view',
|
||||
'label' => 'hidden',
|
||||
'label' => 'above',
|
||||
'settings' => [
|
||||
'view_mode' => 'full',
|
||||
],
|
||||
|
@ -192,15 +193,14 @@ class MediaDisplayTest extends MediaJavascriptTestBase {
|
|||
$node->save();
|
||||
|
||||
$this->drupalGet('/node/' . $node->id());
|
||||
// Media field is there.
|
||||
$assert_session->elementExists('css', '.field--name-field-related-media');
|
||||
// Media field (field_related_media) is there.
|
||||
$assert_session->pageTextContains('Related media');
|
||||
// Media name element is not there.
|
||||
$assert_session->elementNotExists('css', '.field--name-name');
|
||||
$assert_session->pageTextNotContains($image_media_name);
|
||||
// Only one element is present inside the media container.
|
||||
$this->assertCount(1, $page->findAll('css', '.field--name-field-related-media article.media--type-image > div'));
|
||||
// Assert the image is present.
|
||||
$assert_session->elementExists('css', '.field--name-field-related-media article.media--type-image img');
|
||||
// Only one image is present.
|
||||
$assert_session->elementsCount('xpath', '//img', 1);
|
||||
// The image has the correct image style.
|
||||
$assert_session->elementAttributeContains('xpath', '//img', 'src', '/styles/large/');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ abstract class MediaJavascriptTestBase extends WebDriverTestBase {
|
|||
*/
|
||||
protected function assertLinkToCreatedMedia() {
|
||||
$assert_session = $this->assertSession();
|
||||
$selector = '.messages a';
|
||||
$selector = 'div[aria-label="Status message"] a';
|
||||
|
||||
// Get the canonical media entity URL from the creation message.
|
||||
$link = $assert_session->elementExists('css', $selector);
|
||||
|
|
|
@ -17,7 +17,7 @@ class MediaSourceAudioVideoTest extends MediaSourceTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* Check the Audio source functionality.
|
||||
|
|
|
@ -15,7 +15,7 @@ class MediaSourceFileTest extends MediaSourceTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* Tests the file media source.
|
||||
|
@ -70,7 +70,7 @@ class MediaSourceFileTest extends MediaSourceTestBase {
|
|||
// Make sure a link to the file is displayed.
|
||||
$assert_session->linkExists($test_filename);
|
||||
// The thumbnail should not be displayed.
|
||||
$assert_session->elementNotExists('css', '.image-style-thumbnail');
|
||||
$assert_session->elementNotExists('css', 'img');
|
||||
|
||||
// Make sure checkbox changes the visibility of log message field.
|
||||
$this->drupalGet("media/1/edit");
|
||||
|
@ -93,7 +93,7 @@ class MediaSourceFileTest extends MediaSourceTestBase {
|
|||
$result = $assert_session->waitForButton('Remove');
|
||||
$this->assertNotEmpty($result);
|
||||
$page->pressButton('Save');
|
||||
$assert_session->elementAttributeContains('css', '.image-style-thumbnail', 'src', 'text--plain.png');
|
||||
$assert_session->elementAttributeContains('css', 'img', 'src', 'text--plain.png');
|
||||
|
||||
// Check if the mapped name is automatically updated.
|
||||
$new_filename = $this->randomMachineName() . '.txt';
|
||||
|
@ -110,7 +110,7 @@ class MediaSourceFileTest extends MediaSourceTestBase {
|
|||
/** @var \Drupal\media\MediaInterface $media */
|
||||
$media = \Drupal::entityTypeManager()->getStorage('media')->loadUnchanged(1);
|
||||
$this->assertEquals($new_filename, $media->getName());
|
||||
$assert_session->pageTextContains("$new_filename has been updated.");
|
||||
$assert_session->statusMessageContains("$new_filename has been updated.", 'status');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ class MediaSourceImageTest extends MediaSourceTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
/**
|
||||
* Tests the image media source.
|
||||
|
@ -71,13 +71,14 @@ class MediaSourceImageTest extends MediaSourceTestBase {
|
|||
// Assert the image element is present inside the media element and that its
|
||||
// src attribute uses the large image style, the label is visually hidden,
|
||||
// and there is no link to the image file.
|
||||
$image_element = $assert_session->elementExists('css', '.field--name-field-media-image img');
|
||||
$label = $assert_session->elementExists('xpath', '//div[contains(@class, "visually-hidden") and text()="Image"]');
|
||||
// The field is the parent div of the label.
|
||||
$field = $label->getParent();
|
||||
$image_element = $field->find('css', 'img');
|
||||
/** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */
|
||||
$file_url_generator = \Drupal::service('file_url_generator');
|
||||
$expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/example_1.jpeg'));
|
||||
$this->assertStringContainsString($expected_image_src, $image_element->getAttribute('src'));
|
||||
$field = $assert_session->elementExists('css', '.field--name-field-media-image');
|
||||
$assert_session->elementExists('css', '.field__label.visually-hidden', $field);
|
||||
$assert_session->elementNotExists('css', 'a', $field);
|
||||
|
||||
// Ensure the image has the correct alt attribute.
|
||||
|
|
|
@ -25,7 +25,7 @@ class MediaSourceOEmbedVideoTest extends MediaSourceTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
protected $defaultTheme = 'stark';
|
||||
|
||||
use OEmbedTestTrait;
|
||||
|
||||
|
@ -150,7 +150,7 @@ class MediaSourceOEmbedVideoTest extends MediaSourceTestBase {
|
|||
// The oEmbed content iFrame should be visible.
|
||||
$assert_session->elementExists('css', 'iframe.media-oembed-content');
|
||||
// The thumbnail should not be displayed.
|
||||
$assert_session->elementNotExists('css', '.image-style-thumbnail');
|
||||
$assert_session->elementNotExists('css', 'img');
|
||||
|
||||
// Load the media and check that all fields are properly populated.
|
||||
$media = Media::load(1);
|
||||
|
@ -201,16 +201,6 @@ class MediaSourceOEmbedVideoTest extends MediaSourceTestBase {
|
|||
// 'view media' permission.
|
||||
$this->drupalGet('media/oembed', ['query' => $query]);
|
||||
$assert_session->pageTextContains('By the power of Grayskull, Vimeo works!');
|
||||
$this->assertSession()->responseContains('core/themes/stable/templates/content/media-oembed-iframe.html.twig');
|
||||
$this->assertSession()->responseNotContains('core/modules/media/templates/media-oembed-iframe.html.twig');
|
||||
|
||||
// Test themes not inheriting from stable.
|
||||
\Drupal::service('theme_installer')->install(['stark']);
|
||||
$this->config('system.theme')->set('default', 'stark')->save();
|
||||
$this->drupalGet('media/oembed', ['query' => $query]);
|
||||
$assert_session->pageTextContains('By the power of Grayskull, Vimeo works!');
|
||||
$this->assertSession()->responseNotContains('core/themes/stable/templates/content/media-oembed-iframe.html.twig');
|
||||
$this->assertSession()->responseContains('core/modules/media/templates/media-oembed-iframe.html.twig');
|
||||
|
||||
// Remove the 'view media' permission to test that this restricts access.
|
||||
$role = Role::load(AccountInterface::ANONYMOUS_ROLE);
|
||||
|
|
|
@ -29,11 +29,6 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
*/
|
||||
protected static $modules = ['media_test_oembed'];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected $defaultTheme = 'classy';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
@ -156,11 +151,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Here we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-audio > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-audio > *', 1);
|
||||
|
||||
// Assert the audio file is present inside the media element and that its
|
||||
// src attribute matches the audio file.
|
||||
$audio_element = $assert_session->elementExists('css', 'article.media--type-audio .field--name-field-media-audio-file audio > source');
|
||||
$audio_element = $assert_session->elementExists('css', 'div.media--type-audio .field--name-field-media-audio-file audio > source');
|
||||
/** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */
|
||||
$file_url_generator = \Drupal::service('file_url_generator');
|
||||
$expected_audio_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename));
|
||||
|
@ -185,11 +180,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Again we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-audio > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-audio > *', 1);
|
||||
|
||||
// Assert the audio file is present inside the media element and that its
|
||||
// src attribute matches the updated audio file.
|
||||
$audio_element = $assert_session->elementExists('css', 'article.media--type-audio .field--name-field-media-audio-file audio > source');
|
||||
$audio_element = $assert_session->elementExists('css', 'div.media--type-audio .field--name-field-media-audio-file audio > source');
|
||||
$expected_audio_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename_updated));
|
||||
$this->assertSame($expected_audio_src, $audio_element->getAttribute('src'));
|
||||
}
|
||||
|
@ -244,12 +239,12 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Here we expect to see only the image, nothing else. Assert only one
|
||||
// element in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-image > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-image > *', 1);
|
||||
|
||||
// Assert the image element is present inside the media element and that its
|
||||
// src attribute uses the large image style, the label is visually hidden,
|
||||
// and there is no link to the image file.
|
||||
$image_element = $assert_session->elementExists('css', 'article.media--type-image img');
|
||||
$image_element = $assert_session->elementExists('css', 'div.media--type-image img');
|
||||
/** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */
|
||||
$file_url_generator = \Drupal::service('file_url_generator');
|
||||
$expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/' . $image_media_name));
|
||||
|
@ -279,12 +274,12 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Again we expect to see only the image, nothing else. Assert only one
|
||||
// element in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-image > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-image > *', 1);
|
||||
|
||||
// Assert the image element is present inside the media element and that its
|
||||
// src attribute uses the large image style, the label is visually hidden,
|
||||
// and there is no link to the image file.
|
||||
$image_element = $assert_session->elementExists('css', 'article.media--type-image img');
|
||||
$image_element = $assert_session->elementExists('css', 'div.media--type-image img');
|
||||
$expected_image_src = $file_url_generator->generateString(\Drupal::token()->replace('public://styles/large/public/[date:custom:Y]-[date:custom:m]/' . $image_media_name_updated));
|
||||
$this->assertStringContainsString($expected_image_src, $image_element->getAttribute('src'));
|
||||
$assert_session->elementExists('css', '.field--name-field-media-image .field__label.visually-hidden');
|
||||
|
@ -347,11 +342,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Here we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-document > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-document > *', 1);
|
||||
|
||||
// Assert the file link is present in the media element and its text matches
|
||||
// the filename.
|
||||
$link_element = $assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a');
|
||||
$link_element = $assert_session->elementExists('css', 'div.media--type-document .field--name-field-media-document a');
|
||||
$this->assertSame($test_filename, $link_element->getText());
|
||||
|
||||
// Assert the media name is updated through the field mapping when changing
|
||||
|
@ -373,11 +368,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Again we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-document > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-document > *', 1);
|
||||
|
||||
// Assert the file link is present in the media element and its text matches
|
||||
// the updated filename.
|
||||
$link_element = $assert_session->elementExists('css', 'article.media--type-document .field--name-field-media-document a');
|
||||
$link_element = $assert_session->elementExists('css', 'div.media--type-document .field--name-field-media-document a');
|
||||
$this->assertSame($test_filename_updated, $link_element->getText());
|
||||
}
|
||||
|
||||
|
@ -435,11 +430,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Here we expect to see only the video iframe. Assert only one element in
|
||||
// the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-remote-video > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-remote-video > *', 1);
|
||||
|
||||
// Assert the iframe is present in the media element and its src attribute
|
||||
// matches the URL and query parameters.
|
||||
$iframe_url = $assert_session->elementExists('css', 'article.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src');
|
||||
$iframe_url = $assert_session->elementExists('css', 'div.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src');
|
||||
$iframe_url = parse_url($iframe_url);
|
||||
$this->assertStringEndsWith('/media/oembed', $iframe_url['path']);
|
||||
$this->assertNotEmpty($iframe_url['query']);
|
||||
|
@ -462,11 +457,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Again we expect to see only the video iframe. Assert only one element in
|
||||
// the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-remote-video > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-remote-video > *', 1);
|
||||
|
||||
// Assert the iframe is present in the media element and its src attribute
|
||||
// matches the updated URL and query parameters.
|
||||
$iframe_url = $assert_session->elementExists('css', 'article.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src');
|
||||
$iframe_url = $assert_session->elementExists('css', 'div.media--type-remote-video .field--name-field-media-oembed-video iframe')->getAttribute('src');
|
||||
$iframe_url = parse_url($iframe_url);
|
||||
$this->assertStringEndsWith('/media/oembed', $iframe_url['path']);
|
||||
$this->assertNotEmpty($iframe_url['query']);
|
||||
|
@ -532,11 +527,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Here we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-video > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-video > *', 1);
|
||||
|
||||
// Assert the video element is present inside the media element and that its
|
||||
// src attribute matches the video file.
|
||||
$video_element = $assert_session->elementExists('css', 'article.media--type-video .field--name-field-media-video-file video > source');
|
||||
$video_element = $assert_session->elementExists('css', 'div.media--type-video .field--name-field-media-video-file video > source');
|
||||
/** @var \Drupal\Core\File\FileUrlGeneratorInterface $file_url_generator */
|
||||
$file_url_generator = \Drupal::service('file_url_generator');
|
||||
$expected_video_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename));
|
||||
|
@ -561,11 +556,11 @@ class MediaStandardProfileTest extends MediaJavascriptTestBase {
|
|||
|
||||
// Again we expect to see only the linked filename. Assert only one element
|
||||
// in the content region.
|
||||
$assert_session->elementsCount('css', 'article.media--type-video > *', 1);
|
||||
$assert_session->elementsCount('css', 'div.media--type-video > *', 1);
|
||||
|
||||
// Assert the video element is present inside the media element and that its
|
||||
// src attribute matches the updated video file.
|
||||
$video_element = $assert_session->elementExists('css', 'article.media--type-video .field--name-field-media-video-file video > source');
|
||||
$video_element = $assert_session->elementExists('css', 'div.media--type-video .field--name-field-media-video-file video > source');
|
||||
$expected_video_src = $file_url_generator->generateString(\Drupal::token()->replace('public://[date:custom:Y]-[date:custom:m]/' . $test_filename_updated));
|
||||
$this->assertSame($expected_video_src, $video_element->getAttribute('src'));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue