mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-16 13:06:31 +00:00
Merge pull request #4908 from oleibman/issue661
No lumOff for Radar Charts
This commit is contained in:
Binary file not shown.
@@ -304,6 +304,8 @@ class Chart extends WriterPart
|
||||
$objWriter->endElement(); // c:legend
|
||||
}
|
||||
|
||||
private string $chartType = '';
|
||||
|
||||
/**
|
||||
* Write Chart Plot Area.
|
||||
*/
|
||||
@@ -327,6 +329,7 @@ class Chart extends WriterPart
|
||||
$chartType = null;
|
||||
foreach ($chartTypes as $chartType) {
|
||||
$objWriter->startElement('c:' . $chartType);
|
||||
$this->chartType = $chartType;
|
||||
|
||||
$groupCount = $plotArea->getPlotGroupCount();
|
||||
$plotGroup = null;
|
||||
@@ -1875,9 +1878,11 @@ class Chart extends WriterPart
|
||||
$objWriter->startElement('a:lumMod');
|
||||
$objWriter->writeAttribute('val', ChartColor::alphaToXml($brightness));
|
||||
$objWriter->endElement(); // a:lumMod
|
||||
$objWriter->startElement('a:lumOff');
|
||||
$objWriter->writeAttribute('val', ChartColor::alphaToXml($lumOff));
|
||||
$objWriter->endElement(); // a:lumOff
|
||||
if ($this->chartType !== DataSeries::TYPE_RADARCHART) {
|
||||
$objWriter->startElement('a:lumOff');
|
||||
$objWriter->writeAttribute('val', ChartColor::alphaToXml($lumOff));
|
||||
$objWriter->endElement(); // a:lumOff
|
||||
}
|
||||
}
|
||||
$objWriter->endElement(); //a:srgbClr/schemeClr/prstClr
|
||||
if ($solidFill) {
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Chart;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
|
||||
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class Charts32Radar4Test extends TestCase
|
||||
{
|
||||
// These tests can only be performed by examining xml.
|
||||
// They are based on sample 32readwriteRadarChart4.
|
||||
|
||||
private string $outputFileName = '';
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
if ($this->outputFileName !== '') {
|
||||
unlink($this->outputFileName);
|
||||
$this->outputFileName = '';
|
||||
}
|
||||
}
|
||||
|
||||
public function test1LummodNoLumoff(): void
|
||||
{
|
||||
$infile = 'samples/templates/32readwriteRadarChart4.xlsx';
|
||||
$reader = new XlsxReader();
|
||||
$reader->setIncludeCharts(true);
|
||||
$spreadsheet = $reader->load($infile);
|
||||
|
||||
$writer = new XlsxWriter($spreadsheet);
|
||||
$writer->setIncludeCharts(true);
|
||||
$this->outputFileName = File::temporaryFilename();
|
||||
$writer->save($this->outputFileName);
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
|
||||
$file = 'zip://';
|
||||
$file .= $this->outputFileName;
|
||||
$file .= '#xl/charts/chart2.xml';
|
||||
$data = file_get_contents($file);
|
||||
self::assertNotFalse($data);
|
||||
self::assertSame(2, substr_count($data, '<a:lumMod'));
|
||||
self::assertSame(2, substr_count($data, '<a:lum'), 'should be no lumOff');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user