Passed
Push — master ( bae44d...d7f6ab )
by William
02:55 queued 11s
created

ExpressionArrayTest::testParse2()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\SqlParser\Tests\Components;
6
7
use PhpMyAdmin\SqlParser\Components\ExpressionArray;
8
use PhpMyAdmin\SqlParser\Parser;
9
use PhpMyAdmin\SqlParser\Tests\TestCase;
10
11
class ExpressionArrayTest extends TestCase
12
{
13
    public function testParse(): void
14
    {
15
        $component = ExpressionArray::parse(
16
            new Parser(),
17
            $this->getTokensList('(expr)'),
18
            ['breakOnParentheses' => true]
19
        );
20
        $this->assertEquals([], $component);
21
    }
22
23
    public function testParse2(): void
24
    {
25
        $component = ExpressionArray::parse(
26
            new Parser(),
27
            $this->getTokensList('(expr) +'),
28
            ['parenthesesDelimited' => true]
29
        );
30
        $this->assertCount(1, $component);
31
        $this->assertEquals('(expr)', $component[0]->expr);
32
    }
33
34
    public function testParseWithCommentsNoOptions()
35
    {
36
        $component = ExpressionArray::parse(
37
            new Parser(),
38
            $this->getTokensList('(expr) -- comment ?')
39
        );
40
        $this->assertCount(1, $component);
41
        $this->assertEquals('(expr)', $component[0]->expr);
42
    }
43
44
    public function testParseWithCommentsAndOptions()
45
    {
46
        $component = ExpressionArray::parse(
47
            new Parser(),
48
            $this->getTokensList('(expr -- comment ?)'),
49
            ['parenthesesDelimited' => true]
50
        );
51
        $this->assertCount(1, $component);
52
        $this->assertEquals('(expr', $component[0]->expr);
53
    }
54
}
55