Address Some Coverage Issues

I hoped to address more in Sample 25, but there were some peculiar problems. I will continue to work on those, but no reason to delay what is working.
This commit is contained in:
oleibman
2026-08-09 18:45:41 -07:00
parent 78221785c1
commit 229ae783df
3 changed files with 29 additions and 40 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ $spreadsheet->getProperties()->setCreator('Maarten Balliauw')
// Generate an image
$helper->log('Generate an image');
$gdImage = imagecreatetruecolor(120, 20);
$gdImage = imagecreatetruecolor(150, 20);
if (!$gdImage) {
throw new Exception('Cannot Initialize new GD image stream');
}
+7 -1
View File
@@ -441,7 +441,12 @@ class Content extends WriterPart
$prevColumn = $column;
}
// Write any remaining drawings that don't have cells
// Write any remaining drawings that don't have cells.
// I don't know how to trigger the if condition below,
// and would prefer to eliminate the code and have
// someone raise an issue rather than have them
// execute unpredictable code.
/*
foreach ($drawingsByColumn as $column => $drawingData) {
if ($column > $prevColumn) {
$this->writeCellSpan($objWriter, $column, $prevColumn);
@@ -458,6 +463,7 @@ class Content extends WriterPart
$prevColumn = $column;
}
}
*/
}
/**
+21 -38
View File
@@ -18,7 +18,9 @@ class Drawing extends WriterPart
private int $imageCounter = 0;
/**
* Required by WriterPart abstract class.
* Required by WriterPart abstract class, but unused.
*
* @codeCoverageIgnore
*/
public function write(): string
{
@@ -62,46 +64,31 @@ class Drawing extends WriterPart
$this->imageFiles[$imagePath] = $imageContents;
}
} elseif ($drawing instanceof MemoryDrawing) {
$renderingFunction = $drawing->getRenderingFunction();
$extension = 'png';
switch ($drawing->getRenderingFunction()) {
case MemoryDrawing::RENDERING_JPEG:
$extension = 'jpg';
break;
case MemoryDrawing::RENDERING_GIF:
$extension = 'gif';
break;
if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) {
$extension = 'jpg';
} elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) {
$extension = 'gif';
}
ob_start();
$gdImage = $drawing->getImageResource();
if ($gdImage !== null) {
switch ($drawing->getRenderingFunction()) {
case MemoryDrawing::RENDERING_JPEG:
imagejpeg($gdImage);
break;
case MemoryDrawing::RENDERING_GIF:
imagegif($gdImage);
break;
//case MemoryDrawing::RENDERING_PNG:
default:
imagepng($gdImage);
break;
ob_start();
if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) {
imagejpeg($gdImage);
} elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) {
imagegif($gdImage);
} else {
imagepng($gdImage);
}
$imageContents = ob_get_contents();
ob_end_clean();
$imageContents = ob_get_clean();
if ($imageContents !== false && $imageContents !== '') {
$imagePath = "Pictures/image{$this->imageCounter}.{$extension}";
$drawings[$imagePath] = $imageContents;
$this->imageFiles[$imagePath] = $imageContents;
}
} else {
ob_end_clean();
}
}
}
@@ -128,15 +115,11 @@ class Drawing extends WriterPart
if ($drawing instanceof WorksheetDrawing) {
$extension = $drawing->getExtension();
} elseif ($drawing instanceof MemoryDrawing) {
switch ($drawing->getRenderingFunction()) {
case MemoryDrawing::RENDERING_JPEG:
$extension = 'jpg';
break;
case MemoryDrawing::RENDERING_GIF:
$extension = 'gif';
break;
$renderingFunction = $drawing->getRenderingFunction();
if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) {
$extension = 'jpg';
} elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) {
$extension = 'gif';
}
}