File: SelectStatementTest.php

package info (click to toggle)
phpmyadmin-sql-parser 5.10.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 17,244 kB
  • sloc: php: 52,958; makefile: 13; sh: 8
file content (109 lines) | stat: -rw-r--r-- 4,119 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php

declare(strict_types=1);

namespace PhpMyAdmin\SqlParser\Tests\Parser;

use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Tests\TestCase;
use PHPUnit\Framework\Attributes\DataProvider;

class SelectStatementTest extends TestCase
{
    public function testSelectOptions(): void
    {
        $data = $this->getData('parser/parseSelect');
        $parser = new Parser($data['query']);
        $stmt = $parser->statements[0];
        $this->assertEquals(10, $stmt->options->has('MAX_STATEMENT_TIME'));
    }

    #[DataProvider('selectProvider')]
    public function testSelect(string $test): void
    {
        $this->runParserTest($test);
    }

    /**
     * @return string[][]
     */
    public static function selectProvider(): array
    {
        return [
            ['parser/parseSelect2'],
            ['parser/parseSelect3'],
            ['parser/parseSelect4'],
            ['parser/parseSelect5'],
            ['parser/parseSelect6'],
            ['parser/parseSelect7'],
            ['parser/parseSelect8'],
            ['parser/parseSelect9'],
            ['parser/parseSelect10'],
            ['parser/parseSelect11'],
            ['parser/parseSelect12'],
            ['parser/parseSelect13'],
            ['parser/parseSelect14'],
            ['parser/parseSelect15'],
            ['parser/parseSelect16'],
            ['parser/parseSelectAggregateWithPartitionAndAlias'],
            ['parser/parseSelectErr1'],
            ['parser/parseSelectErr2'],
            ['parser/parseSelectNested'],
            ['parser/parseSelectCase1'],
            ['parser/parseSelectCase2'],
            ['parser/parseSelectCase3'],
            ['parser/parseSelectCase4'],
            ['parser/parseSelectCase5'],
            ['parser/parseSelectCaseErr1'],
            ['parser/parseSelectCaseErr2'],
            ['parser/parseSelectCaseErr3'],
            ['parser/parseSelectCaseErr4'],
            ['parser/parseSelectCaseErr5'],
            ['parser/parseSelectCaseAlias1'],
            ['parser/parseSelectCaseAlias2'],
            ['parser/parseSelectCaseAlias3'],
            ['parser/parseSelectCaseAlias4'],
            ['parser/parseSelectCaseAlias5'],
            ['parser/parseSelectCaseAlias6'],
            ['parser/parseSelectCaseAliasErr1'],
            ['parser/parseSelectCaseAliasErr2'],
            ['parser/parseSelectCaseAliasErr3'],
            ['parser/parseSelectCaseAliasErr4'],
            ['parser/parseSelectExists'],
            ['parser/parseSelectIntoOptions1'],
            ['parser/parseSelectIntoOptions2'],
            ['parser/parseSelectIntoOptions3'],
            ['parser/parseSelectJoinCross'],
            ['parser/parseSelectJoinNatural'],
            ['parser/parseSelectJoinNaturalLeft'],
            ['parser/parseSelectJoinNaturalRight'],
            ['parser/parseSelectJoinNaturalLeftOuter'],
            ['parser/parseSelectJoinNaturalRightOuter'],
            ['parser/parseSelectJoinMultiple'],
            ['parser/parseSelectJoinMultiple2'],
            ['parser/parseSelectWrongOrder'],
            ['parser/parseSelectWrongOrder2'],
            ['parser/parseSelectEndOptions1'],
            ['parser/parseSelectEndOptions2'],
            ['parser/parseSelectEndOptionsErr'],
            ['parser/parseSelectUnion'],
            ['parser/parseSelectUnion2'],
            ['parser/parseSelectWhere'],
            ['parser/parseSelectWhereCollate'],
            ['parser/parseSelectIndexHint1'],
            ['parser/parseSelectIndexHint2'],
            ['parser/parseSelectOrderByIsNull'],
            ['parser/parseSelectIndexHintErr1'],
            ['parser/parseSelectIndexHintErr2'],
            ['parser/parseSelectIndexHintErr3'],
            ['parser/parseSelectIndexHintErr4'],
            ['parser/parseSelectWithParenthesis'],
            ['parser/parseSelectOrderByComment'],
            ['parser/parseSelectOverAlias_mariadb_100600'],
            ['parser/parseSelectGroupBy'],
            ['parser/parseSelectGroupByErr'],
            ['parser/parseSelectGroupByWithComments'],
            ['parser/parseTable1'],
        ];
    }
}