Passed
Branch master (366c16)
by William
03:30
created

SelectStatementTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 66
c 1
b 0
f 0
dl 0
loc 82
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testSelectOptions() 0 6 1
A testSelect() 0 3 1
B selectProvider() 0 62 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\SqlParser\Tests\Parser;
6
7
use PhpMyAdmin\SqlParser\Parser;
8
use PhpMyAdmin\SqlParser\Tests\TestCase;
9
10
class SelectStatementTest extends TestCase
11
{
12
    public function testSelectOptions()
13
    {
14
        $data = $this->getData('parser/parseSelect');
15
        $parser = new Parser($data['query']);
16
        $stmt = $parser->statements[0];
17
        $this->assertEquals(10, $stmt->options->has('MAX_STATEMENT_TIME'));
18
    }
19
20
    /**
21
     * @param mixed $test
22
     *
23
     * @dataProvider selectProvider
24
     */
25
    public function testSelect($test)
26
    {
27
        $this->runParserTest($test);
28
    }
29
30
    public function selectProvider()
31
    {
32
        return [
33
            ['parser/parseSelect2'],
34
            ['parser/parseSelect3'],
35
            ['parser/parseSelect4'],
36
            ['parser/parseSelect5'],
37
            ['parser/parseSelect6'],
38
            ['parser/parseSelect7'],
39
            ['parser/parseSelect8'],
40
            ['parser/parseSelect9'],
41
            ['parser/parseSelect10'],
42
            ['parser/parseSelect11'],
43
            ['parser/parseSelectErr1'],
44
            ['parser/parseSelectErr2'],
45
            ['parser/parseSelectNested'],
46
            ['parser/parseSelectCase1'],
47
            ['parser/parseSelectCase2'],
48
            ['parser/parseSelectCase3'],
49
            ['parser/parseSelectCase4'],
50
            ['parser/parseSelectCase5'],
51
            ['parser/parseSelectCaseErr1'],
52
            ['parser/parseSelectCaseErr2'],
53
            ['parser/parseSelectCaseErr3'],
54
            ['parser/parseSelectCaseErr4'],
55
            ['parser/parseSelectCaseErr5'],
56
            ['parser/parseSelectCaseAlias1'],
57
            ['parser/parseSelectCaseAlias2'],
58
            ['parser/parseSelectCaseAlias3'],
59
            ['parser/parseSelectCaseAlias4'],
60
            ['parser/parseSelectCaseAlias5'],
61
            ['parser/parseSelectCaseAlias6'],
62
            ['parser/parseSelectCaseAliasErr1'],
63
            ['parser/parseSelectCaseAliasErr2'],
64
            ['parser/parseSelectCaseAliasErr3'],
65
            ['parser/parseSelectCaseAliasErr4'],
66
            ['parser/parseSelectExists'],
67
            ['parser/parseSelectIntoOptions1'],
68
            ['parser/parseSelectIntoOptions2'],
69
            ['parser/parseSelectIntoOptions3'],
70
            ['parser/parseSelectJoinCross'],
71
            ['parser/parseSelectJoinNatural'],
72
            ['parser/parseSelectJoinNaturalLeft'],
73
            ['parser/parseSelectJoinNaturalRight'],
74
            ['parser/parseSelectJoinNaturalLeftOuter'],
75
            ['parser/parseSelectJoinNaturalRightOuter'],
76
            ['parser/parseSelectJoinMultiple'],
77
            ['parser/parseSelectJoinMultiple2'],
78
            ['parser/parseSelectWrongOrder'],
79
            ['parser/parseSelectWrongOrder2'],
80
            ['parser/parseSelectEndOptions1'],
81
            ['parser/parseSelectEndOptions2'],
82
            ['parser/parseSelectEndOptionsErr'],
83
            ['parser/parseSelectUnion'],
84
            ['parser/parseSelectUnion2'],
85
            ['parser/parseSelectIndexHint1'],
86
            ['parser/parseSelectIndexHint2'],
87
            ['parser/parseSelectIndexHintErr1'],
88
            ['parser/parseSelectIndexHintErr2'],
89
            ['parser/parseSelectIndexHintErr3'],
90
            ['parser/parseSelectIndexHintErr4'],
91
            ['parser/parseSelectWithParenthesis'],
92
        ];
93
    }
94
}
95