mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-16 04:56:34 +00:00
Minor Changes to 3 Tests/Samples (#3451)
No source changes. Act on some items that have come up in recent discussions. - Sample 33_Chart_create_line creates a stacked line chart. According to @MarkBaker, the stacking is done on the wrong variable, and, even were that not the case, stacking is unusual for line charts. Since this is our primary sample showing how to create a line chart, remove the stacking. Another sample, with a more appropriate choice of chart (33_Chart_create_bar_stacked), still shows how to create a stacked chart. - The test for reading a styled cell from Html is flawed. It sets a date format for a string date/time, but the format is applied only to numeric data, so the format, although set correctly, is ineffective. Keep the test, but add some explanation in the assertion, and add some new more effective tests, also with explanations in the assertions. - Wrong namespace used for Writer/Xlsx/ConditionalFillTest.
This commit is contained in:
@@ -64,7 +64,7 @@ $dataSeriesValues[2]->setLineWidth(60000 / Properties::POINTS_WIDTH_MULTIPLIER);
|
||||
// Build the dataseries
|
||||
$series = new DataSeries(
|
||||
DataSeries::TYPE_LINECHART, // plotType
|
||||
DataSeries::GROUPING_STACKED, // plotGrouping
|
||||
null, // plotGrouping, was DataSeries::GROUPING_STACKED, not a usual choice for line chart
|
||||
range(0, count($dataSeriesValues) - 1), // plotOrder
|
||||
$dataSeriesLabels, // plotLabel
|
||||
$xAxisTickValues, // plotCategory
|
||||
@@ -76,7 +76,7 @@ $plotArea = new PlotArea(null, [$series]);
|
||||
// Set the chart legend
|
||||
$legend = new ChartLegend(ChartLegend::POSITION_TOPRIGHT, null, false);
|
||||
|
||||
$title = new Title('Test Stacked Line Chart');
|
||||
$title = new Title('Test Line Chart');
|
||||
$yAxisLabel = new Title('Value ($k)');
|
||||
|
||||
// Create the chart
|
||||
|
||||
@@ -98,6 +98,7 @@ class HtmlTest extends TestCase
|
||||
self::assertEquals('f0f8ff', $style->getFont()->getColor()->getRGB());
|
||||
self::assertEquals('eedfcc', $style->getFill()->getEndColor()->getRGB());
|
||||
self::assertEquals('eedfcc', $style->getFill()->getstartColor()->getRGB());
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyInlineFontStyles(): void
|
||||
@@ -133,6 +134,7 @@ class HtmlTest extends TestCase
|
||||
|
||||
$style = $firstSheet->getCell('F1')->getStyle();
|
||||
self::assertTrue($style->getFont()->getStrikethrough());
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyInlineWidth(): void
|
||||
@@ -159,6 +161,7 @@ class HtmlTest extends TestCase
|
||||
$dimension = $firstSheet->getColumnDimension('C');
|
||||
self::assertNotNull($dimension);
|
||||
self::assertEquals(50, $dimension->getWidth('px'));
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyInlineHeight(): void
|
||||
@@ -189,6 +192,7 @@ class HtmlTest extends TestCase
|
||||
$dimension = $firstSheet->getRowDimension(3);
|
||||
self::assertNotNull($dimension);
|
||||
self::assertEquals(50, $dimension->getRowHeight('px'));
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyAlignment(): void
|
||||
@@ -224,6 +228,7 @@ class HtmlTest extends TestCase
|
||||
|
||||
$style = $firstSheet->getCell('F1')->getStyle();
|
||||
self::assertTrue($style->getAlignment()->getWrapText());
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyInlineDataFormat(): void
|
||||
@@ -231,14 +236,21 @@ class HtmlTest extends TestCase
|
||||
$html = '<table>
|
||||
<tr>
|
||||
<td data-format="mmm-yy">2019-02-02 12:34:00</td>
|
||||
<td data-format="#.000">3</td>
|
||||
<td data-format="#.000">x</td>
|
||||
</tr>
|
||||
</table>';
|
||||
$filename = HtmlHelper::createHtml($html);
|
||||
$spreadsheet = HtmlHelper::loadHtmlIntoSpreadsheet($filename, true);
|
||||
$firstSheet = $spreadsheet->getSheet(0);
|
||||
$sheet = $spreadsheet->getSheet(0);
|
||||
|
||||
$style = $firstSheet->getCell('A1')->getStyle();
|
||||
self::assertEquals('mmm-yy', $style->getNumberFormat()->getFormatCode());
|
||||
self::assertEquals('mmm-yy', $sheet->getStyle('A1')->getNumberFormat()->getFormatCode());
|
||||
self::assertEquals('2019-02-02 12:34:00', $sheet->getCell('A1')->getFormattedValue(), 'field is string not number so not formatted');
|
||||
self::assertEquals('#.000', $sheet->getStyle('B1')->getNumberFormat()->getFormatCode());
|
||||
self::assertEquals('3.000', $sheet->getCell('B1')->getFormattedValue(), 'format applied to numeric value');
|
||||
self::assertEquals('#.000', $sheet->getStyle('C1')->getNumberFormat()->getFormatCode());
|
||||
self::assertEquals('x', $sheet->getCell('C1')->getFormattedValue(), 'format not applied to non-numeric value');
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testCanApplyCellWrapping(): void
|
||||
@@ -270,6 +282,7 @@ class HtmlTest extends TestCase
|
||||
self::assertTrue($cellStyle->getAlignment()->getWrapText());
|
||||
$cellValue = $firstSheet->getCell('A3')->getValue();
|
||||
self::assertStringContainsString("\n", $cellValue);
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testRowspanInRendering(): void
|
||||
@@ -280,6 +293,7 @@ class HtmlTest extends TestCase
|
||||
|
||||
$actual = $spreadsheet->getActiveSheet()->getMergeCells();
|
||||
self::assertSame(['A2:C2' => 'A2:C2'], $actual);
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testTextIndentUseRowspan(): void
|
||||
@@ -300,6 +314,7 @@ class HtmlTest extends TestCase
|
||||
$firstSheet = $spreadsheet->getSheet(0);
|
||||
$style = $firstSheet->getCell('C2')->getStyle();
|
||||
self::assertEquals(10, $style->getAlignment()->getIndent());
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testBorderWithRowspanAndColspan(): void
|
||||
@@ -331,6 +346,7 @@ class HtmlTest extends TestCase
|
||||
foreach ($totalBorders as $border) {
|
||||
self::assertEquals(Border::BORDER_THIN, $border->getBorderStyle());
|
||||
}
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
|
||||
public function testBorderWithColspan(): void
|
||||
@@ -362,5 +378,6 @@ class HtmlTest extends TestCase
|
||||
foreach ($totalBorders as $border) {
|
||||
self::assertEquals(Border::BORDER_THIN, $border->getBorderStyle());
|
||||
}
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
Reference in New Issue
Block a user