mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-09-12 11:06:28 +00:00
Additional unit tests for invalid column name
This commit is contained in:
@@ -92,6 +92,18 @@ class StructuredReferenceTest extends TestCase
|
||||
self::assertSame($expectedCellRange, $cellRange);
|
||||
}
|
||||
|
||||
public function testInvalidStructuredReferenceRow(): void
|
||||
{
|
||||
$cell = $this->spreadSheet->getActiveSheet()->getCell('E5');
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$this->expectExceptionCode(1);
|
||||
$this->expectExceptionMessage('Invalid Structured Reference');
|
||||
$this->expectExceptionCode(Exception::CALCULATION_ENGINE_PUSH_TO_STACK);
|
||||
$structuredReferenceObject = new StructuredReference('DeptSales[@[Sales]:[%age Commission]]');
|
||||
$structuredReferenceObject->parse($cell);
|
||||
}
|
||||
|
||||
public function testStructuredReferenceHeadersHidden(): void
|
||||
{
|
||||
$cell = $this->spreadSheet->getActiveSheet()->getCell('K1');
|
||||
@@ -103,9 +115,9 @@ class StructuredReferenceTest extends TestCase
|
||||
|
||||
$table->setShowHeaderRow(false);
|
||||
|
||||
self::expectException(Exception::class);
|
||||
self::expectExceptionCode(1);
|
||||
self::expectExceptionMessage('Table Headers are Hidden, and should not be Referenced');
|
||||
$this->expectException(Exception::class);
|
||||
$this->expectExceptionCode(1);
|
||||
$this->expectExceptionMessage('Table Headers are Hidden, and should not be Referenced');
|
||||
$this->expectExceptionCode(Exception::CALCULATION_ENGINE_PUSH_TO_STACK);
|
||||
$structuredReferenceObject = new StructuredReference('DeptSales[[#Headers],[% Commission]]');
|
||||
$structuredReferenceObject->parse($cell);
|
||||
|
||||
@@ -46,6 +46,21 @@ class StructuredReferenceFormulaTest extends TestCase
|
||||
self::assertSame(ExcelError::REF(), $result);
|
||||
}
|
||||
|
||||
public function testStructuredReferenceInvalidColumn(): void
|
||||
{
|
||||
$inputFileType = 'Xlsx';
|
||||
$inputFileName = __DIR__ . '/../../data/Calculation/TableFormulae.xlsx';
|
||||
|
||||
$reader = IOFactory::createReader($inputFileType);
|
||||
$spreadsheet = $reader->load($inputFileName);
|
||||
|
||||
$cellAddress = 'E2';
|
||||
$spreadsheet->getActiveSheet()->getCell($cellAddress)->setValue('=[@Sales Amount]*[@[%age Commission]]');
|
||||
|
||||
$result = $spreadsheet->getActiveSheet()->getCell($cellAddress)->getCalculatedValue();
|
||||
self::assertSame(ExcelError::REF(), $result);
|
||||
}
|
||||
|
||||
public function structuredReferenceProvider(): array
|
||||
{
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user