Translated using Weblate (Portuguese)
[phpmyadmin.git] / tests / unit / ParseAnalyzeTest.php
blob4493f871d88b2787fa348ba32a05570662589da5
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Tests;
7 use PhpMyAdmin\Current;
8 use PhpMyAdmin\Dbal\DatabaseInterface;
9 use PhpMyAdmin\ParseAnalyze;
10 use PhpMyAdmin\ResponseRenderer;
11 use PHPUnit\Framework\Attributes\CoversClass;
13 #[CoversClass(ParseAnalyze::class)]
14 class ParseAnalyzeTest extends AbstractTestCase
16 protected function setUp(): void
18 parent::setUp();
20 DatabaseInterface::$instance = $this->createDatabaseInterface();
23 public function testSqlQuery(): void
25 Current::$lang = 'en';
26 ResponseRenderer::getInstance()->setAjax(false);
28 $actual = ParseAnalyze::sqlQuery('SELECT * FROM `sakila`.`actor`', 'sakila_test');
30 self::assertSame('sakila', $actual[1]);
31 self::assertSame('actor', $actual[2]);
32 self::assertTrue($actual[0]->flags->reload);
33 self::assertNotEmpty($actual[0]->selectTables);
34 self::assertSame([['actor', 'sakila']], $actual[0]->selectTables);
35 self::assertNotEmpty($actual[0]->selectExpressions);
36 self::assertSame(['*'], $actual[0]->selectExpressions);
39 public function testSqlQuery2(): void
41 Current::$lang = 'en';
42 ResponseRenderer::getInstance()->setAjax(false);
44 $actual = ParseAnalyze::sqlQuery('SELECT `first_name`, `title` FROM `actor`, `film`', 'sakila');
46 self::assertSame('sakila', $actual[1]);
47 self::assertSame('', $actual[2]);
48 self::assertFalse($actual[0]->flags->reload);
49 self::assertNotEmpty($actual[0]->selectTables);
50 self::assertSame([['actor', null], ['film', null]], $actual[0]->selectTables);
51 self::assertNotEmpty($actual[0]->selectExpressions);
52 self::assertSame(['`first_name`', '`title`'], $actual[0]->selectExpressions);