for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\LookupRef;
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
use PhpOffice\PhpSpreadsheet\NamedRange;
use PHPUnit\Framework\Attributes\DataProvider;
class DropTest extends AllSetupTeardown
{
#[DataProvider('providerDrop')]
public function testDrop(mixed $expectedResult, string $formula): void
Calculation::setArrayReturnType(
Calculation::RETURN_ARRAY_AS_ARRAY
);
$this->mightHaveException($expectedResult);
$sheet = $this->getSheet();
$sheet->fromArray(
[
['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
['j', 'k', 'l'],
['m', 'n', 'o'],
['p', 'q', 'r'],
['s', 't', 'u'],
['v', 'w', 'x'],
['y', 'z', '#'],
],
null,
'B3',
true
$this->getSpreadsheet()->addNamedRange(
new NamedRange(
'definedname',
$sheet,
'$B$3:$D$11'
)
$sheet->setCellValue('F3', $formula);
$result = $sheet->getCell('F3')->getCalculatedValue();
self::assertSame($expectedResult, $result);
}
public static function providerDrop(): array
return require 'tests/data/Calculation/LookupRef/DROP.php';