Passed
Pull Request — master (#380)
by Wilmer
04:47 queued 01:51
created

AbstractQuoterTest   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 106
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 27
dl 0
loc 106
rs 10
c 1
b 0
f 0
wmc 9

9 Methods

Rating   Name   Duplication   Size   Complexity  
A testQuoteSimpleTableName() 0 9 1
A testQuoteSimpleColumnName() 0 9 1
A testsEnsureColumnName() 0 5 1
A testQuoteColumnName() 0 5 1
A testUnquoteSimpleColumnName() 0 9 1
A testQuoteTableName() 0 5 1
A testGetTableNameParts() 0 5 1
A testUnquoteSimpleTableName() 0 9 1
A testsEnsureNameQuoted() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Db\Tests;
6
7
use PHPUnit\Framework\TestCase;
8
use Yiisoft\Db\Schema\Quoter;
9
10
abstract class AbstractQuoterTest extends TestCase
11
{
12
    /**
13
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::ensureColumnName()
14
     */
15
    public function testsEnsureColumnName(string $columnName, string $expected): void
16
    {
17
        $quoter = new Quoter('`', '`', '');
18
19
        $this->assertSame($expected, $quoter->ensureColumnName($columnName));
20
    }
21
22
    /**
23
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::ensureNameQuoted()
24
     */
25
    public function testsEnsureNameQuoted(string $name, string $expected): void
26
    {
27
        $quoter = new Quoter('`', '`', '');
28
29
        $this->assertSame($expected, $quoter->ensureNameQuoted($name));
30
    }
31
32
    /**
33
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::tableNameParts()
34
     */
35
    public function testGetTableNameParts(string $tableName, array $expected): void
36
    {
37
        $quoter = new Quoter('`', '`', '');
38
39
        $this->assertSame($expected, $quoter->getTableNameParts($tableName));
40
    }
41
42
    /**
43
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::columnName()
44
     */
45
    public function testQuoteColumnName(string $columnName, string $expected): void
46
    {
47
        $quoter = new Quoter('`', '`', '');
48
49
        $this->assertSame($expected, $quoter->quoteColumnName($columnName));
50
    }
51
52
    /**
53
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::simpleColumnName()
54
     */
55
    public function testQuoteSimpleColumnName(string $columnName, string $expected): void
56
    {
57
        $quoter = new Quoter('`', '`', '');
58
59
        $this->assertSame($expected, $quoter->quoteSimpleColumnName($columnName));
60
61
        $quoter = new Quoter(['`', '`'], ['`', '`']);
62
63
        $this->assertSame($expected, $quoter->quoteSimpleColumnName($columnName));
64
    }
65
66
    /**
67
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::simpleTableName()
68
     */
69
    public function testQuoteSimpleTableName(string $columnName, string $expected): void
70
    {
71
        $quoter = new Quoter('`', '`', '');
72
73
        $this->assertSame($expected, $quoter->quoteSimpleTableName($columnName));
74
75
        $quoter = new Quoter(['`', '`'], ['`', '`']);
76
77
        $this->assertSame($expected, $quoter->quoteSimpleTableName($columnName));
78
    }
79
80
    /**
81
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::tableName()
82
     */
83
    public function testQuoteTableName(string $tableName, string $expected): void
84
    {
85
        $quoter = new Quoter('`', '`', '');
86
87
        $this->assertSame($expected, $quoter->quoteTableName($tableName));
88
    }
89
90
    /**
91
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::unquoteSimpleColumnName()
92
     */
93
    public function testUnquoteSimpleColumnName(string $columnName, string $expected): void
94
    {
95
        $quoter = new Quoter('`', '`', '');
96
97
        $this->assertSame($expected, $quoter->unquoteSimpleColumnName($columnName));
98
99
        $quoter = new Quoter(['`', '`'], ['`', '`']);
100
101
        $this->assertSame($expected, $quoter->unquoteSimpleColumnName($columnName));
102
    }
103
104
    /**
105
     * @dataProvider \Yiisoft\Db\Tests\Provider\QuoterProvider::unquoteSimpleTableName()
106
     */
107
    public function testUnquoteSimpleTableName(string $tableName, string $expected): void
108
    {
109
        $quoter = new Quoter('`', '`', '');
110
111
        $this->assertSame($expected, $quoter->unquoteSimpleTableName($tableName));
112
113
        $quoter = new Quoter(['`', '`'], ['`', '`']);
114
115
        $this->assertSame($expected, $quoter->unquoteSimpleTableName($tableName));
116
    }
117
}
118