function ImageTestBase::testWidth
Same name in other branches
- 10 core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTestBase.php \Drupal\Tests\ckeditor5\FunctionalJavascript\ImageTestBase::testWidth()
Ensures that width attribute upcasts and downcasts correctly.
@dataProvider providerWidth
Parameters
string $width: The width input for the image.
File
-
core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ ImageTestBase.php, line 537
Class
- ImageTestBase
- @coversDefaultClass \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image @group ckeditor5 @internal
Namespace
Drupal\Tests\ckeditor5\FunctionalJavascriptCode
public function testWidth(string $width) : void {
$page = $this->getSession()
->getPage();
$assert_session = $this->assertSession();
// Add image to the host body.
$this->host->body->value = sprintf('<img data-foo="bar" alt="drupalimage test image" ' . $this->imageAttributesAsString() . ' width="%s" />', $width);
$this->host
->save();
$this->drupalGet($this->host
->toUrl('edit-form'));
$this->waitForEditor();
// Ensure that the image is upcast as expected. In the editing view, the
// width attribute should downcast to an inline style on the container
// element.
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.image[style] img'));
// Ensure that the width attribute is retained on downcast.
$editor_data = $this->getEditorDataAsDom();
$width_from_editor = $editor_data->getElementsByTagName('img')
->item(0)
->getAttribute('width');
$this->assertSame($width, $width_from_editor);
// Save the node and ensure that the width attribute is retained.
$page->pressButton('Save');
$this->assertNotEmpty($assert_session->waitForElement('css', "img[width='{$width}']"));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.