// Confirm data-foo is present in the drupal-media preview.
$this->
assertNotEmpty($upcasted_media =
$assert_session->
waitForElementVisible('css', '.ck-widget.drupal-media'
));
$this->
assertFalse($upcasted_media->
hasAttribute('data-foo'
));
$this->
assertNotEmpty($preview =
$assert_session->
waitForElementVisible('css', '.ck-widget.drupal-media > [data-drupal-media-preview="ready"] > .media', 30000
));
$this->
assertEquals('bar',
$preview->
getAttribute('data-foo'
));
// Confirm that the media is wrapped by the div on the editing view.
$assert_session->
elementExists('css', 'div[data-bar="baz"] > .drupal-media'
);
// Confirm data-foo is not stripped from source.
$this->
assertSourceAttributeSame('data-foo', 'bar'
);
// Confirm that drupal-media is wrapped by the div.
$editor_dom =
new \
DOMXPath($this->
getEditorDataAsDom());
$this->
assertNotEmpty($editor_dom->
query('//div[@data-bar="baz"]/drupal-media'
));
} /**
* Ensures arbitrary attributes can be added on links wrapping media via GHS.
*
* @dataProvider providerLinkability
*/