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
|
<?php
declare(strict_types=1);
namespace Doctrine\Tests\ORM\Query;
use Doctrine\ORM\Query;
use Doctrine\ORM\Query\ParserResult;
use Doctrine\ORM\Query\SqlWalker;
use Doctrine\Tests\OrmTestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\RequiresPhpunit;
/**
* Tests for {@see \Doctrine\ORM\Query\SqlWalker}
*/
#[CoversClass(SqlWalker::class)]
#[RequiresPhpunit('< 12')]
class SqlWalkerTest extends OrmTestCase
{
private SqlWalker $sqlWalker;
protected function setUp(): void
{
$this->sqlWalker = new SqlWalker(new Query($this->getTestEntityManager()), new ParserResult(), []);
}
#[DataProvider('getColumnNamesAndSqlAliases')]
public function testGetSQLTableAlias($tableName, $expectedAlias): void
{
self::assertSame($expectedAlias, $this->sqlWalker->getSQLTableAlias($tableName));
}
#[DataProvider('getColumnNamesAndSqlAliases')]
public function testGetSQLTableAliasIsSameForMultipleCalls($tableName): void
{
self::assertSame(
$this->sqlWalker->getSQLTableAlias($tableName),
$this->sqlWalker->getSQLTableAlias($tableName),
);
}
/**
* @return string[][]
*
* @private data provider
*/
public static function getColumnNamesAndSqlAliases(): array
{
return [
['aaaaa', 'a0_'],
['table', 't0_'],
['çtable', 't0_'],
];
}
}
|