1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-25 06:39:48 +03:00
Files
phpmyadmin/test/classes/Controllers/GisDataEditorControllerTest.php
Maurício Meneghini Fauth 86fb10e688 Fix coding standard issues
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.com.br>
2026-07-31 13:32:49 -03:00

85 lines
2.3 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Controllers;
use PhpMyAdmin\Controllers\GisDataEditorController;
use PhpMyAdmin\Template;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Group;
/**
* @covers \PhpMyAdmin\Controllers\GisDataEditorController
*/
#[CoversClass(GisDataEditorController::class)]
class GisDataEditorControllerTest extends AbstractTestCase
{
/** @var GisDataEditorController|null */
private $controller = null;
protected function setUp(): void
{
parent::setUp();
$GLOBALS['server'] = 1;
$GLOBALS['text_dir'] = 'ltr';
$GLOBALS['PMA_PHP_SELF'] = 'index.php';
$GLOBALS['db'] = 'db';
$GLOBALS['table'] = 'table';
$this->controller = new GisDataEditorController(new ResponseRenderer(), new Template());
}
/**
* @param mixed[] $gis_data
* @param mixed[] $expected
*
* @group gis
* @dataProvider providerForTestValidateGisData
*/
#[DataProvider('providerForTestValidateGisData')]
#[Group('gis')]
public function testValidateGisData(array $gis_data, string $type, ?string $value, array $expected): void
{
/** @var mixed[] $gisData */
$gisData = $this->callFunction(
$this->controller,
GisDataEditorController::class,
'validateGisData',
[
$gis_data,
$type,
$value,
]
);
self::assertSame($expected, $gisData);
}
/**
* @return list<list<mixed[]|string|null>>
* @psalm-return list<array{0:mixed[],1:string,2:string|null,3:mixed[]}>
*/
public static function providerForTestValidateGisData(): array
{
/** @psalm-var list<array{0:mixed[],1:string,2:string|null,3:mixed[]}> */
return [
[
[],
'GEOMETRY',
'GEOMETRYCOLLECTION()',
['gis_type' => 'GEOMETRYCOLLECTION'],
],
[
[],
'GEOMETRY',
'GEOMETRYCOLLECTION EMPTY',
['gis_type' => 'GEOMETRYCOLLECTION'],
],
];
}
}