summaryrefslogtreecommitdiffstats
path: root/tests/Parser/SelectStatementTest.php
blob: 5be345f3097abb17238cf10d4971ebd4a297373c (plain)
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
<?php

namespace PhpMyAdmin\SqlParser\Tests\Parser;

use PhpMyAdmin\SqlParser\Parser;
use PhpMyAdmin\SqlParser\Tests\TestCase;

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

    /**
     * @dataProvider testSelectProvider
     *
     * @param mixed $test
     */
    public function testSelect($test)
    {
        $this->runParserTest($test);
    }

    public function testSelectProvider()
    {
        return array(
            array('parser/parseSelect2'),
            array('parser/parseSelect3'),
            array('parser/parseSelect4'),
            array('parser/parseSelect5'),
            array('parser/parseSelect6'),
            array('parser/parseSelect7'),
            array('parser/parseSelect8'),
            array('parser/parseSelect9'),
            array('parser/parseSelect10'),
            array('parser/parseSelect11'),
            array('parser/parseSelectErr1'),
            array('parser/parseSelectErr2'),
            array('parser/parseSelectNested'),
            array('parser/parseSelectCase1'),
            array('parser/parseSelectCase2'),
            array('parser/parseSelectCase3'),
            array('parser/parseSelectCase4'),
            array('parser/parseSelectCase5'),
            array('parser/parseSelectCaseErr1'),
            array('parser/parseSelectCaseErr2'),
            array('parser/parseSelectCaseErr3'),
            array('parser/parseSelectCaseErr4'),
            array('parser/parseSelectCaseErr5'),
            array('parser/parseSelectIntoOptions1'),
            array('parser/parseSelectIntoOptions2'),
            array('parser/parseSelectIntoOptions3'),
            array('parser/parseSelectJoinCross'),
            array('parser/parseSelectJoinNatural'),
            array('parser/parseSelectJoinNaturalLeft'),
            array('parser/parseSelectJoinNaturalRight'),
            array('parser/parseSelectJoinNaturalLeftOuter'),
            array('parser/parseSelectJoinNaturalRightOuter'),
            array('parser/parseSelectJoinMultiple'),
            array('parser/parseSelectJoinMultiple2'),
            array('parser/parseSelectWrongOrder'),
            array('parser/parseSelectEndOptions1'),
            array('parser/parseSelectEndOptions2'),
            array('parser/parseSelectEndOptionsErr'),
            array('parser/parseSelectUnion'),
            array('parser/parseSelectUnion2'),
        );
    }
}