Completed
Push — master ( c8cd9a...6d5397 )
by Mark
39s queued 34s
created

FunctionPrefixTest::functionPrefixProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
dl 0
loc 11
rs 9.9666
c 1
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
4
5
use PhpOffice\PhpSpreadsheet\Writer\Xlsx\FunctionPrefix;
6
use PHPUnit\Framework\TestCase;
7
8
class FunctionPrefixTest extends TestCase
9
{
10
    /**
11
     * @dataProvider functionPrefixProvider
12
     */
13
    public function testFunctionPrefix(string $expectedResult, string $functionString): void
14
    {
15
        $result = FunctionPrefix::addFunctionPrefix($functionString);
16
        self::assertSame($expectedResult, $result);
17
    }
18
19
    public function functionPrefixProvider(): array
20
    {
21
        return [
22
            'Basic Legacy Function' => ['SUM()', 'SUM()'],
23
            'New Function without Prefix' => ['_xlfn.ARABIC()', 'ARABIC()'],
24
            'New Function already Prefixed' => ['_xlfn.ARABIC()', '_xlfn.ARABIC()'],
25
            'New Function requiring Double-Prefix' => ['_xlfn._xlws.FILTER()', 'FILTER()'],
26
            'New Function requiring Double-Prefix already partially Prefixed' => ['_xlfn._xlws.FILTER()', '_xlfn.FILTER()'],
27
            'New Function requiring Double-Prefix already partially Prefixed #2' => ['_xlfn._xlws.FILTER()', '_xlws.FILTER()'],
28
            'New Function requiring Double-Prefix already Fully Prefixed' => ['_xlfn._xlws.FILTER()', '_xlfn._xlws.FILTER()'],
29
            'Multiple Functions' => ['_xlfn._xlws.SORT(_xlfn._xlws.FILTER(A:A, A:A<>""))', 'SORT(FILTER(A:A, A:A<>""))'],
30
        ];
31
    }
32
33
//    /**
34
//     * @dataProvider functionPrefixWithEqualsProvider
35
//     */
36
//    public function testFunctionPrefixWithEquals(string $expectedResult, string $functionString): void
37
//    {
38
//        $result = FunctionPrefix::addFunctionPrefixStripEquals($functionString);
39
//        self::assertSame($expectedResult, $result);
40
//    }
41
//
42
//    public function functionPrefixWithEqualsProvider(): array
43
//    {
44
//        return [
45
//            'Basic Legacy Function' => ['SUM()', '=SUM()'],
46
//            'New Function without Prefix' => ['_xlfn.ARABIC()', '=ARABIC()'],
47
//            'New Function already Prefixed' => ['_xlfn.ARABIC()', '=_xlfn.ARABIC()'],
48
//            'New Function requiring Double-Prefix' => ['_xlfn._xlws.FILTER()', '=FILTER()'],
49
//            'New Function requiring Double-Prefix already partially Prefixed' => ['_xlfn._xlws.FILTER()', '=_xlfn.FILTER()'],
50
//            'New Function requiring Double-Prefix already partially Prefixed #2' => ['_xlfn._xlws.FILTER()', '=_xlws.FILTER()'],
51
//            'New Function requiring Double-Prefix already Fully Prefixed' => ['_xlfn._xlws.FILTER()', '=_xlfn._xlws.FILTER()'],
52
//        ];
53
//    }
54
}
55