1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Worksheet; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
6
|
|
|
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing; |
7
|
|
|
use PHPUnit\Framework\TestCase; |
8
|
|
|
|
9
|
|
|
class DrawingTest extends TestCase |
10
|
|
|
{ |
11
|
|
|
public function testCloningWorksheetWithImages() |
12
|
|
|
{ |
13
|
|
|
$spreadsheet = new Spreadsheet(); |
14
|
|
|
$aSheet = $spreadsheet->getActiveSheet(); |
15
|
|
|
|
16
|
|
|
$gdImage = @imagecreatetruecolor(120, 20); |
17
|
|
|
$textColor = imagecolorallocate($gdImage, 255, 255, 255); |
18
|
|
|
imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor); |
19
|
|
|
|
20
|
|
|
$drawing = new MemoryDrawing(); |
21
|
|
|
$drawing->setName('In-Memory image 1'); |
22
|
|
|
$drawing->setDescription('In-Memory image 1'); |
23
|
|
|
$drawing->setCoordinates('A1'); |
24
|
|
|
$drawing->setImageResource($gdImage); |
25
|
|
|
$drawing->setRenderingFunction( |
26
|
|
|
MemoryDrawing::RENDERING_JPEG |
27
|
|
|
); |
28
|
|
|
$drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT); |
29
|
|
|
$drawing->setHeight(36); |
30
|
|
|
$drawing->setWorksheet($aSheet); |
31
|
|
|
|
32
|
|
|
$originDrawingCount = count($aSheet->getDrawingCollection()); |
33
|
|
|
$clonedWorksheet = clone $aSheet; |
34
|
|
|
$clonedDrawingCount = count($clonedWorksheet->getDrawingCollection()); |
35
|
|
|
|
36
|
|
|
self::assertEquals($originDrawingCount, $clonedDrawingCount); |
37
|
|
|
self::assertNotSame($aSheet, $clonedWorksheet); |
38
|
|
|
self::assertNotSame($aSheet->getDrawingCollection(), $clonedWorksheet->getDrawingCollection()); |
39
|
|
|
} |
40
|
|
|
} |
41
|
|
|
|