function ToolkitGdTest::testCreateImageFromScratch
Same name in other branches
- 10 core/tests/Drupal/KernelTests/Core/Image/ToolkitGdTest.php \Drupal\KernelTests\Core\Image\ToolkitGdTest::testCreateImageFromScratch()
- 11.x core/tests/Drupal/KernelTests/Core/Image/ToolkitGdTest.php \Drupal\KernelTests\Core\Image\ToolkitGdTest::testCreateImageFromScratch()
Tests creation of image from scratch, and saving to storage.
@dataProvider providerSupportedImageTypes
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Image/ ToolkitGdTest.php, line 422
Class
- ToolkitGdTest
- Tests for the GD image toolkit.
Namespace
Drupal\KernelTests\Core\ImageCode
public function testCreateImageFromScratch(int $type) : void {
// Build an image from scratch.
$image = $this->imageFactory
->get();
$image->createNew(50, 20, image_type_to_extension($type, FALSE), '#ffff00');
$file = 'from_null' . image_type_to_extension($type);
$file_path = $this->directory . '/' . $file;
$this->assertSame(50, $image->getWidth());
$this->assertSame(20, $image->getHeight());
$this->assertSame(image_type_to_mime_type($type), $image->getMimeType());
$this->assertTrue($image->save($file_path), "Image '{$file}' should have been saved successfully, but it has not.");
// Reload and check saved image.
$image_reloaded = $this->imageFactory
->get($file_path);
$this->assertTrue($image_reloaded->isValid());
$this->assertSame(50, $image_reloaded->getWidth());
$this->assertSame(20, $image_reloaded->getHeight());
$this->assertSame(image_type_to_mime_type($type), $image_reloaded->getMimeType());
if ($image_reloaded->getToolkit()
->getType() == IMAGETYPE_GIF) {
$this->assertSame('#ffff00', $image_reloaded->getToolkit()
->getTransparentColor(), "Image '{$file}' after reload should have color channel set to #ffff00, but it has not.");
}
else {
$this->assertNull($image_reloaded->getToolkit()
->getTransparentColor(), "Image '{$file}' after reload should have no color channel set, but it has.");
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.