Skip to content

Commit 315c33b

Browse files
committed
Automate Function-by-Name and Function-by-Category Docs
Examining whether it is possible to analyze the 2 Php scripts in the bin directory even though they lack a .php extension, I found that the docs generated by `generate-document` had not been updated in over a year even though support for a number of functions (e.g. ARRAYTOTEXT) had long ago been implemented. The files generated by the other script `generate-locales` are automatically generated as part of the unit test suite, and I can't see any reason not to do the same for `generate-document`. It isn't totally clear that the 2 scripts in bin are needed any more now that each has an equivalent in the unit test suite. For now, I'm keeping them, and allowing them to be analyzed by phpcs, php-cs-fixer, and phpstan.
1 parent 29c0162 commit 315c33b

File tree

8 files changed

+78
-13
lines changed

8 files changed

+78
-13
lines changed

.php-cs-fixer.dist.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
$finder = PhpCsFixer\Finder::create()
44
->exclude('vendor')
55
->notPath('src/PhpSpreadsheet/Writer/ZipStream3.php')
6+
->name('/(\.php|^generate-document|^generate-locales)$/')
67
->in(__DIR__);
78

89
$config = new PhpCsFixer\Config();

.phpcs.xml.dist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<file>src</file>
77
<file>tests</file>
88
<file>infra</file>
9+
<file>bin/generate-document</file>
10+
<file>bin/generate-locales</file>
911

1012
<exclude-pattern>samples/Header.php</exclude-pattern>
1113
<exclude-pattern>*/tests/Core/*/*Test\.(inc|css|js)$</exclude-pattern>

bin/generate-document

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ try {
1313
$phpSpreadsheetFunctions = $phpSpreadsheetFunctionsProperty->getValue();
1414
ksort($phpSpreadsheetFunctions);
1515

16-
file_put_contents(__DIR__ . '/../docs/references/function-list-by-category.md',
16+
file_put_contents(
17+
__DIR__ . '/../docs/references/function-list-by-category.md',
1718
DocumentGenerator::generateFunctionListByCategory($phpSpreadsheetFunctions)
1819
);
19-
file_put_contents(__DIR__ . '/../docs/references/function-list-by-name.md',
20+
file_put_contents(
21+
__DIR__ . '/../docs/references/function-list-by-name.md',
2022
DocumentGenerator::generateFunctionListByName($phpSpreadsheetFunctions)
2123
);
2224
} catch (ReflectionException $e) {

bin/generate-locales

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ try {
1313
$phpSpreadsheetFunctions = $phpSpreadsheetFunctionsProperty->getValue();
1414

1515
$localeGenerator = new LocaleGenerator(
16-
realpath(__DIR__ . '/../src/PhpSpreadsheet/Calculation/locale/'),
16+
(string) realpath(__DIR__ . '/../src/PhpSpreadsheet/Calculation/locale/'),
1717
'Translations.xlsx',
1818
$phpSpreadsheetFunctions,
1919
true

docs/references/function-list-by-category.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ ISNA | \PhpOffice\PhpSpreadsheet\Calculation\Information\Err
200200
ISNONTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isNonText
201201
ISNUMBER | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isNumber
202202
ISODD | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isOdd
203+
ISOMITTED | **Not yet Implemented**
203204
ISREF | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isRef
204205
ISTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isText
205206
N | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::asNumber
@@ -213,13 +214,21 @@ TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Information\Val
213214
Excel Function | PhpSpreadsheet Function
214215
-------------------------|--------------------------------------
215216
AND | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalAnd
217+
BYCOL | **Not yet Implemented**
218+
BYROW | **Not yet Implemented**
216219
FALSE | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::FALSE
217220
IF | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementIf
218221
IFERROR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFERROR
219222
IFNA | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFNA
220223
IFS | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::IFS
224+
LAMBDA | **Not yet Implemented**
225+
LET | **Not yet Implemented**
226+
MAKEARRAY | **Not yet Implemented**
227+
MAP | **Not yet Implemented**
221228
NOT | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::NOT
222229
OR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalOr
230+
REDUCE | **Not yet Implemented**
231+
SCAN | **Not yet Implemented**
223232
SWITCH | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Conditional::statementSwitch
224233
TRUE | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Boolean::TRUE
225234
XOR | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalXor
@@ -513,7 +522,7 @@ ZTEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Dis
513522

514523
Excel Function | PhpSpreadsheet Function
515524
-------------------------|--------------------------------------
516-
ARRAYTOTEXT | **Not yet Implemented**
525+
ARRAYTOTEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::fromArray
517526
ASC | **Not yet Implemented**
518527
BAHTTEXT | **Not yet Implemented**
519528
CHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
@@ -550,10 +559,10 @@ SEARCHB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search
550559
SUBSTITUTE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::substitute
551560
T | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::test
552561
TEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::TEXTFORMAT
553-
TEXTAFTER | **Not yet Implemented**
554-
TEXTBEFORE | **Not yet Implemented**
562+
TEXTAFTER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::after
563+
TEXTBEFORE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::before
555564
TEXTJOIN | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::TEXTJOIN
556-
TEXTSPLIT | **Not yet Implemented**
565+
TEXTSPLIT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::split
557566
THAIDIGIT | **Not yet Implemented**
558567
THAINUMSOUND | **Not yet Implemented**
559568
THAINUMSTRING | **Not yet Implemented**
@@ -563,7 +572,7 @@ UNICHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Charac
563572
UNICODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
564573
UPPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::upper
565574
VALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::VALUE
566-
VALUETOTEXT | **Not yet Implemented**
575+
VALUETOTEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::valueToText
567576

568577
## CATEGORY_WEB
569578

@@ -572,3 +581,10 @@ Excel Function | PhpSpreadsheet Function
572581
ENCODEURL | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::urlEncode
573582
FILTERXML | **Not yet Implemented**
574583
WEBSERVICE | \PhpOffice\PhpSpreadsheet\Calculation\Web\Service::webService
584+
585+
## CATEGORY_UNCATEGORISED
586+
587+
Excel Function | PhpSpreadsheet Function
588+
-------------------------|--------------------------------------
589+
ANCHORARRAY | **Not yet Implemented**
590+
SINGLE | **Not yet Implemented**

docs/references/function-list-by-name.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ ADDRESS | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpread
1515
AGGREGATE | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
1616
AMORDEGRC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORDEGRC
1717
AMORLINC | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Amortization::AMORLINC
18+
ANCHORARRAY | CATEGORY_UNCATEGORISED | **Not yet Implemented**
1819
AND | CATEGORY_LOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Logical\Operations::logicalAnd
1920
ARABIC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Arabic::evaluate
2021
AREAS | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemented**
21-
ARRAYTOTEXT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
22+
ARRAYTOTEXT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::fromArray
2223
ASC | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
2324
ASIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asin
2425
ASINH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::asinh
@@ -57,6 +58,8 @@ BITLSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpread
5758
BITOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITOR
5859
BITRSHIFT | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITRSHIFT
5960
BITXOR | CATEGORY_ENGINEERING | \PhpOffice\PhpSpreadsheet\Calculation\Engineering\BitWise::BITXOR
61+
BYCOL | CATEGORY_LOGICAL | **Not yet Implemented**
62+
BYROW | CATEGORY_LOGICAL | **Not yet Implemented**
6063

6164
## C
6265

@@ -305,6 +308,7 @@ ISNONTEXT | CATEGORY_INFORMATION | \PhpOffice\PhpSpread
305308
ISNUMBER | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isNumber
306309
ISO.CEILING | CATEGORY_MATH_AND_TRIG | **Not yet Implemented**
307310
ISODD | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isOdd
311+
ISOMITTED | CATEGORY_INFORMATION | **Not yet Implemented**
308312
ISOWEEKNUM | CATEGORY_DATE_AND_TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Week::isoWeekNumber
309313
ISPMT | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::schedulePayment
310314
ISREF | CATEGORY_INFORMATION | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isRef
@@ -327,12 +331,14 @@ KURT | CATEGORY_STATISTICAL | \PhpOffice\PhpSpread
327331

328332
Excel Function | Category | PhpSpreadsheet Function
329333
-------------------------|--------------------------------|--------------------------------------
334+
LAMBDA | CATEGORY_LOGICAL | **Not yet Implemented**
330335
LARGE | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Size::large
331336
LCM | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Lcm::evaluate
332337
LEFT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
333338
LEFTB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
334339
LEN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
335340
LENB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::length
341+
LET | CATEGORY_LOGICAL | **Not yet Implemented**
336342
LINEST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Trends::LINEST
337343
LN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::natural
338344
LOG | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Logarithms::withBase
@@ -349,6 +355,8 @@ LOWER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpread
349355

350356
Excel Function | Category | PhpSpreadsheet Function
351357
-------------------------|--------------------------------|--------------------------------------
358+
MAKEARRAY | CATEGORY_LOGICAL | **Not yet Implemented**
359+
MAP | CATEGORY_LOGICAL | **Not yet Implemented**
352360
MATCH | CATEGORY_LOOKUP_AND_REFERENCE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\ExcelMatch::MATCH
353361
MAX | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::max
354362
MAXA | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Maximum::maxA
@@ -468,6 +476,7 @@ RANK.AVG | CATEGORY_STATISTICAL | **Not yet Implemente
468476
RANK.EQ | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Percentiles::RANK
469477
RATE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\CashFlow\Constant\Periodic\Interest::rate
470478
RECEIVED | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Securities\Price::received
479+
REDUCE | CATEGORY_LOGICAL | **Not yet Implemented**
471480
REPLACE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
472481
REPLACEB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::replace
473482
REPT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::builtinREPT
@@ -489,6 +498,7 @@ RTD | CATEGORY_LOOKUP_AND_REFERENCE | **Not yet Implemente
489498

490499
Excel Function | Category | PhpSpreadsheet Function
491500
-------------------------|--------------------------------|--------------------------------------
501+
SCAN | CATEGORY_LOGICAL | **Not yet Implemented**
492502
SEARCH | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
493503
SEARCHB | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::insensitive
494504
SEC | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sec
@@ -500,6 +510,7 @@ SHEET | CATEGORY_INFORMATION | **Not yet Implemente
500510
SHEETS | CATEGORY_INFORMATION | **Not yet Implemented**
501511
SIGN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sign::evaluate
502512
SIN | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sin
513+
SINGLE | CATEGORY_UNCATEGORISED | **Not yet Implemented**
503514
SINH | CATEGORY_MATH_AND_TRIG | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sinh
504515
SKEW | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Deviations::skew
505516
SKEW.P | CATEGORY_STATISTICAL | **Not yet Implemented**
@@ -550,10 +561,10 @@ TBILLPRICE | CATEGORY_FINANCIAL | \PhpOffice\PhpSpread
550561
TBILLYIELD | CATEGORY_FINANCIAL | \PhpOffice\PhpSpreadsheet\Calculation\Financial\TreasuryBill::yield
551562
TDIST | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\StudentT::distribution
552563
TEXT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::TEXTFORMAT
553-
TEXTAFTER | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
554-
TEXTBEFORE | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
564+
TEXTAFTER | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::after
565+
TEXTBEFORE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::before
555566
TEXTJOIN | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::TEXTJOIN
556-
TEXTSPLIT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
567+
TEXTSPLIT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::split
557568
THAIDAYOFWEEK | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
558569
THAIDIGIT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
559570
THAIMONTHOFYEAR | CATEGORY_DATE_AND_TIME | **Not yet Implemented**
@@ -591,7 +602,7 @@ USDOLLAR | CATEGORY_FINANCIAL | \PhpOffice\PhpSpread
591602
Excel Function | Category | PhpSpreadsheet Function
592603
-------------------------|--------------------------------|--------------------------------------
593604
VALUE | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::VALUE
594-
VALUETOTEXT | CATEGORY_TEXT_AND_DATA | **Not yet Implemented**
605+
VALUETOTEXT | CATEGORY_TEXT_AND_DATA | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::valueToText
595606
VAR | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR
596607
VAR.P | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VARP
597608
VAR.S | CATEGORY_STATISTICAL | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Variances::VAR

phpstan.neon.dist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ parameters:
1010
- tests/
1111
- samples/
1212
- infra/
13+
- bin/generate-document
14+
- bin/generate-locales
1315
excludePaths:
1416
- src/PhpSpreadsheet/Chart/Renderer/JpGraph.php
1517
- src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php

tests/PhpSpreadsheetTests/DocumentGeneratorTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,28 @@
44

55
namespace PhpOffice\PhpSpreadsheetTests;
66

7+
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
78
use PhpOffice\PhpSpreadsheet\Calculation\Category as Cat;
89
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
910
use PhpOffice\PhpSpreadsheet\Calculation\Logical;
1011
use PhpOffice\PhpSpreadsheetInfra\DocumentGenerator;
1112
use PHPUnit\Framework\TestCase;
13+
use ReflectionClass;
1214
use UnexpectedValueException;
1315

1416
class DocumentGeneratorTest extends TestCase
1517
{
18+
private static bool $succeededByName = false;
19+
20+
private static bool $succeededByCategory = false;
21+
1622
/**
1723
* @dataProvider providerGenerateFunctionListByName
1824
*/
1925
public function testGenerateFunctionListByName(array $phpSpreadsheetFunctions, string $expected): void
2026
{
2127
self::assertEquals($expected, DocumentGenerator::generateFunctionListByName($phpSpreadsheetFunctions));
28+
self::$succeededByName = true;
2229
}
2330

2431
/**
@@ -27,6 +34,7 @@ public function testGenerateFunctionListByName(array $phpSpreadsheetFunctions, s
2734
public function testGenerateFunctionListByCategory(array $phpSpreadsheetFunctions, string $expected): void
2835
{
2936
self::assertEquals($expected, DocumentGenerator::generateFunctionListByCategory($phpSpreadsheetFunctions));
37+
self::$succeededByCategory = true;
3038
}
3139

3240
public static function providerGenerateFunctionListByName(): array
@@ -154,4 +162,27 @@ public function testGenerateFunctionBadArray(): void
154162
];
155163
DocumentGenerator::generateFunctionListByName($phpSpreadsheetFunctions);
156164
}
165+
166+
public function testGenerateDocuments(): void
167+
{
168+
if (!self::$succeededByName || !self::$succeededByCategory) {
169+
self::markTestSkipped('Not run because prior test failed');
170+
}
171+
$directory = 'docs/references/';
172+
self::assertNotEmpty($directory);
173+
$phpSpreadsheetFunctionsProperty = (new ReflectionClass(Calculation::class))
174+
->getProperty('phpSpreadsheetFunctions');
175+
$phpSpreadsheetFunctionsProperty->setAccessible(true);
176+
$phpSpreadsheetFunctions = $phpSpreadsheetFunctionsProperty->getValue();
177+
ksort($phpSpreadsheetFunctions);
178+
179+
self::assertNotFalse(file_put_contents(
180+
$directory . 'function-list-by-category.md',
181+
DocumentGenerator::generateFunctionListByCategory($phpSpreadsheetFunctions)
182+
));
183+
self::assertNotFalse(file_put_contents(
184+
$directory . 'function-list-by-name.md',
185+
DocumentGenerator::generateFunctionListByName($phpSpreadsheetFunctions)
186+
));
187+
}
157188
}

0 commit comments

Comments
 (0)