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:
oleibman
2023-03-12 00:22:20 -08:00
committed by GitHub
parent 20348642ed
commit a3489b5d89
3 changed files with 23 additions and 6 deletions
+2 -2
View File
@@ -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;