Add unit tests for Config\Forms classes
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
This commit is contained in:
parent
be01432c56
commit
166b0ab4c0
83
tests/unit/Config/Forms/Page/BrowseFormTest.php
Normal file
83
tests/unit/Config/Forms/Page/BrowseFormTest.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Page;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Page\BrowseForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(BrowseForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class BrowseFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$browseForm = new BrowseForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', BrowseForm::getName());
|
||||
|
||||
$forms = $browseForm->getRegisteredForms();
|
||||
self::assertCount(1, $forms);
|
||||
|
||||
self::assertArrayHasKey('Browse', $forms);
|
||||
$form = $forms['Browse'];
|
||||
self::assertSame('Browse', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TableNavigationLinksMode' => 'TableNavigationLinksMode',
|
||||
'ActionLinksMode' => 'ActionLinksMode',
|
||||
'ShowAll' => 'ShowAll',
|
||||
'MaxRows' => 'MaxRows',
|
||||
'Order' => 'Order',
|
||||
'BrowsePointerEnable' => 'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable' => 'BrowseMarkerEnable',
|
||||
'GridEditing' => 'GridEditing',
|
||||
'SaveCellsAtOnce' => 'SaveCellsAtOnce',
|
||||
'RepeatCells' => 'RepeatCells',
|
||||
'LimitChars' => 'LimitChars',
|
||||
'RowActionLinks' => 'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique' => 'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder' => 'TablePrimaryKeyOrder',
|
||||
'RememberSorting' => 'RememberSorting',
|
||||
'RelationalDisplay' => 'RelationalDisplay',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'TableNavigationLinksMode',
|
||||
'ActionLinksMode',
|
||||
'ShowAll',
|
||||
'MaxRows',
|
||||
'Order',
|
||||
'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable',
|
||||
'GridEditing',
|
||||
'SaveCellsAtOnce',
|
||||
'RepeatCells',
|
||||
'LimitChars',
|
||||
'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder',
|
||||
'RememberSorting',
|
||||
'RelationalDisplay',
|
||||
],
|
||||
BrowseForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
61
tests/unit/Config/Forms/Page/DbStructureFormTest.php
Normal file
61
tests/unit/Config/Forms/Page/DbStructureFormTest.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Page;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Page\DbStructureForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(DbStructureForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class DbStructureFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$dbStructureForm = new DbStructureForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', DbStructureForm::getName());
|
||||
|
||||
$forms = $dbStructureForm->getRegisteredForms();
|
||||
self::assertCount(1, $forms);
|
||||
|
||||
self::assertArrayHasKey('DbStructure', $forms);
|
||||
$form = $forms['DbStructure'];
|
||||
self::assertSame('DbStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDbStructureCharset' => 'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment' => 'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation' => 'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate' => 'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck' => 'ShowDbStructureLastCheck',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck',
|
||||
],
|
||||
DbStructureForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
91
tests/unit/Config/Forms/Page/EditFormTest.php
Normal file
91
tests/unit/Config/Forms/Page/EditFormTest.php
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Page;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Page\EditForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(EditForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class EditFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$editForm = new EditForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', EditForm::getName());
|
||||
|
||||
$forms = $editForm->getRegisteredForms();
|
||||
self::assertCount(2, $forms);
|
||||
|
||||
self::assertArrayHasKey('Edit', $forms);
|
||||
$form = $forms['Edit'];
|
||||
self::assertSame('Edit', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ProtectBinary' => 'ProtectBinary',
|
||||
'ShowFunctionFields' => 'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView' => 'ShowFieldTypesInDataEditView',
|
||||
'InsertRows' => 'InsertRows',
|
||||
'ForeignKeyDropdownOrder' => 'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit' => 'ForeignKeyMaxLimit',
|
||||
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Text_fields', $forms);
|
||||
$form = $forms['Text_fields'];
|
||||
self::assertSame('Text_fields', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'CharEditing' => 'CharEditing',
|
||||
'MinSizeForInputField' => 'MinSizeForInputField',
|
||||
'MaxSizeForInputField' => 'MaxSizeForInputField',
|
||||
'CharTextareaCols' => 'CharTextareaCols',
|
||||
'CharTextareaRows' => 'CharTextareaRows',
|
||||
'TextareaCols' => 'TextareaCols',
|
||||
'TextareaRows' => 'TextareaRows',
|
||||
'LongtextDoubleTextarea' => 'LongtextDoubleTextarea',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ProtectBinary',
|
||||
'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView',
|
||||
'InsertRows',
|
||||
'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit',
|
||||
'CharEditing',
|
||||
'MinSizeForInputField',
|
||||
'MaxSizeForInputField',
|
||||
'CharTextareaCols',
|
||||
'CharTextareaRows',
|
||||
'TextareaCols',
|
||||
'TextareaRows',
|
||||
'LongtextDoubleTextarea',
|
||||
],
|
||||
EditForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
77
tests/unit/Config/Forms/Page/TableStructureFormTest.php
Normal file
77
tests/unit/Config/Forms/Page/TableStructureFormTest.php
Normal file
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Page;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Page\TableStructureForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(TableStructureForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class TableStructureFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$tableStructureForm = new TableStructureForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', TableStructureForm::getName());
|
||||
|
||||
$forms = $tableStructureForm->getRegisteredForms();
|
||||
self::assertCount(1, $forms);
|
||||
|
||||
self::assertArrayHasKey('TableStructure', $forms);
|
||||
$form = $forms['TableStructure'];
|
||||
self::assertSame('TableStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'HideStructureActions' => 'HideStructureActions',
|
||||
'ShowColumnComments' => 'ShowColumnComments',
|
||||
':group:Default transformations' => ':group:Default transformations',
|
||||
'Hex' => 'DefaultTransformations/Hex',
|
||||
'Substring' => 'DefaultTransformations/Substring',
|
||||
'Bool2Text' => 'DefaultTransformations/Bool2Text',
|
||||
'External' => 'DefaultTransformations/External',
|
||||
'PreApPend' => 'DefaultTransformations/PreApPend',
|
||||
'DateFormat' => 'DefaultTransformations/DateFormat',
|
||||
'Inline' => 'DefaultTransformations/Inline',
|
||||
'TextImageLink' => 'DefaultTransformations/TextImageLink',
|
||||
'TextLink' => 'DefaultTransformations/TextLink',
|
||||
':group:end:0' => ':group:end:0',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'HideStructureActions',
|
||||
'ShowColumnComments',
|
||||
':group:Default transformations',
|
||||
'DefaultTransformations/Hex',
|
||||
'DefaultTransformations/Substring',
|
||||
'DefaultTransformations/Bool2Text',
|
||||
'DefaultTransformations/External',
|
||||
'DefaultTransformations/PreApPend',
|
||||
'DefaultTransformations/DateFormat',
|
||||
'DefaultTransformations/Inline',
|
||||
'DefaultTransformations/TextImageLink',
|
||||
'DefaultTransformations/TextLink',
|
||||
':group:end',
|
||||
],
|
||||
TableStructureForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
43
tests/unit/Config/Forms/Setup/ConfigFormTest.php
Normal file
43
tests/unit/Config/Forms/Setup/ConfigFormTest.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Setup;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Setup\ConfigForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(ConfigForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class ConfigFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$configForm = new ConfigForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', ConfigForm::getName());
|
||||
|
||||
$forms = $configForm->getRegisteredForms();
|
||||
self::assertCount(1, $forms);
|
||||
|
||||
self::assertArrayHasKey('Config', $forms);
|
||||
$form = $forms['Config'];
|
||||
self::assertSame('Config', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(['DefaultLang' => 'DefaultLang', 'ServerDefault' => 'ServerDefault'], $form->fields);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(['DefaultLang', 'ServerDefault'], ConfigForm::getFields());
|
||||
}
|
||||
}
|
||||
292
tests/unit/Config/Forms/Setup/FeaturesFormTest.php
Normal file
292
tests/unit/Config/Forms/Setup/FeaturesFormTest.php
Normal file
@ -0,0 +1,292 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Setup;
|
||||
|
||||
use PhpMyAdmin\Config;
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Setup\FeaturesForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(FeaturesForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class FeaturesFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
$config = new Config();
|
||||
$config->settings['UserprefsDeveloperTab'] = true;
|
||||
Config::$instance = $config;
|
||||
|
||||
$featuresForm = new FeaturesForm(new ConfigFile([]), 1);
|
||||
self::assertSame('Features', FeaturesForm::getName());
|
||||
|
||||
$forms = $featuresForm->getRegisteredForms();
|
||||
self::assertCount(10, $forms);
|
||||
|
||||
self::assertArrayHasKey('General', $forms);
|
||||
$form = $forms['General'];
|
||||
self::assertSame('General', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'VersionCheck' => 'VersionCheck',
|
||||
'NaturalOrder' => 'NaturalOrder',
|
||||
'InitialSlidersState' => 'InitialSlidersState',
|
||||
'LoginCookieValidity' => 'LoginCookieValidity',
|
||||
'SkipLockedTables' => 'SkipLockedTables',
|
||||
'DisableMultiTableMaintenance' => 'DisableMultiTableMaintenance',
|
||||
'ShowHint' => 'ShowHint',
|
||||
'SendErrorReports' => 'SendErrorReports',
|
||||
'ConsoleEnterExecutes' => 'ConsoleEnterExecutes',
|
||||
'DisableShortcutKeys' => 'DisableShortcutKeys',
|
||||
'FirstDayOfCalendar' => 'FirstDayOfCalendar',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Databases', $forms);
|
||||
$form = $forms['Databases'];
|
||||
self::assertSame('Databases', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'MaxDbList' => 'MaxDbList',
|
||||
'MaxTableList' => 'MaxTableList',
|
||||
'DefaultConnectionCollation' => 'DefaultConnectionCollation',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Text_fields', $forms);
|
||||
$form = $forms['Text_fields'];
|
||||
self::assertSame('Text_fields', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'CharEditing' => 'CharEditing',
|
||||
'MinSizeForInputField' => 'MinSizeForInputField',
|
||||
'MaxSizeForInputField' => 'MaxSizeForInputField',
|
||||
'CharTextareaCols' => 'CharTextareaCols',
|
||||
'CharTextareaRows' => 'CharTextareaRows',
|
||||
'TextareaCols' => 'TextareaCols',
|
||||
'TextareaRows' => 'TextareaRows',
|
||||
'LongtextDoubleTextarea' => 'LongtextDoubleTextarea',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Page_titles', $forms);
|
||||
$form = $forms['Page_titles'];
|
||||
self::assertSame('Page_titles', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TitleDefault' => 'TitleDefault',
|
||||
'TitleTable' => 'TitleTable',
|
||||
'TitleDatabase' => 'TitleDatabase',
|
||||
'TitleServer' => 'TitleServer',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Warnings', $forms);
|
||||
$form = $forms['Warnings'];
|
||||
self::assertSame('Warnings', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'PmaNoRelation_DisableWarning' => 'PmaNoRelation_DisableWarning',
|
||||
'SuhosinDisableWarning' => 'SuhosinDisableWarning',
|
||||
'LoginCookieValidityDisableWarning' => 'LoginCookieValidityDisableWarning',
|
||||
'ReservedWordDisableWarning' => 'ReservedWordDisableWarning',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Console', $forms);
|
||||
$form = $forms['Console'];
|
||||
self::assertSame('Console', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'Mode' => 'Console/Mode',
|
||||
'StartHistory' => 'Console/StartHistory',
|
||||
'AlwaysExpand' => 'Console/AlwaysExpand',
|
||||
'CurrentQuery' => 'Console/CurrentQuery',
|
||||
'EnterExecutes' => 'Console/EnterExecutes',
|
||||
'DarkTheme' => 'Console/DarkTheme',
|
||||
'Height' => 'Console/Height',
|
||||
'GroupQueries' => 'Console/GroupQueries',
|
||||
'OrderBy' => 'Console/OrderBy',
|
||||
'Order' => 'Console/Order',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Developer', $forms);
|
||||
$form = $forms['Developer'];
|
||||
self::assertSame('Developer', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(['UserprefsDeveloperTab' => 'UserprefsDeveloperTab', 'sql' => 'DBG/sql'], $form->fields);
|
||||
|
||||
self::assertArrayHasKey('Import_export', $forms);
|
||||
$form = $forms['Import_export'];
|
||||
self::assertSame('Import_export', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame(['RecodingEngine' => ':group'], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'UploadDir' => 'UploadDir',
|
||||
'SaveDir' => 'SaveDir',
|
||||
'RecodingEngine' => 'RecodingEngine',
|
||||
'IconvExtraParams' => 'IconvExtraParams',
|
||||
':group:end:0' => ':group:end:0',
|
||||
'ZipDump' => 'ZipDump',
|
||||
'GZipDump' => 'GZipDump',
|
||||
'BZipDump' => 'BZipDump',
|
||||
'CompressOnFly' => 'CompressOnFly',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Security', $forms);
|
||||
$form = $forms['Security'];
|
||||
self::assertSame('Security', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'blowfish_secret' => 'blowfish_secret',
|
||||
'CheckConfigurationPermissions' => 'CheckConfigurationPermissions',
|
||||
'TrustedProxies' => 'TrustedProxies',
|
||||
'AllowUserDropDatabase' => 'AllowUserDropDatabase',
|
||||
'AllowArbitraryServer' => 'AllowArbitraryServer',
|
||||
'ArbitraryServerRegexp' => 'ArbitraryServerRegexp',
|
||||
'LoginCookieRecall' => 'LoginCookieRecall',
|
||||
'LoginCookieStore' => 'LoginCookieStore',
|
||||
'LoginCookieDeleteAll' => 'LoginCookieDeleteAll',
|
||||
'CaptchaLoginPublicKey' => 'CaptchaLoginPublicKey',
|
||||
'CaptchaLoginPrivateKey' => 'CaptchaLoginPrivateKey',
|
||||
'CaptchaSiteVerifyURL' => 'CaptchaSiteVerifyURL',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Other_core_settings', $forms);
|
||||
$form = $forms['Other_core_settings'];
|
||||
self::assertSame('Other_core_settings', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'PersistentConnections' => 'PersistentConnections',
|
||||
'ExecTimeLimit' => 'ExecTimeLimit',
|
||||
'MemoryLimit' => 'MemoryLimit',
|
||||
'UseDbSearch' => 'UseDbSearch',
|
||||
'ProxyUrl' => 'ProxyUrl',
|
||||
'ProxyUser' => 'ProxyUser',
|
||||
'ProxyPass' => 'ProxyPass',
|
||||
'AllowThirdPartyFraming' => 'AllowThirdPartyFraming',
|
||||
'ZeroConf' => 'ZeroConf',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'VersionCheck',
|
||||
'NaturalOrder',
|
||||
'InitialSlidersState',
|
||||
'LoginCookieValidity',
|
||||
'SkipLockedTables',
|
||||
'DisableMultiTableMaintenance',
|
||||
'ShowHint',
|
||||
'SendErrorReports',
|
||||
'ConsoleEnterExecutes',
|
||||
'DisableShortcutKeys',
|
||||
'FirstDayOfCalendar',
|
||||
'MaxDbList',
|
||||
'MaxTableList',
|
||||
'DefaultConnectionCollation',
|
||||
'CharEditing',
|
||||
'MinSizeForInputField',
|
||||
'MaxSizeForInputField',
|
||||
'CharTextareaCols',
|
||||
'CharTextareaRows',
|
||||
'TextareaCols',
|
||||
'TextareaRows',
|
||||
'LongtextDoubleTextarea',
|
||||
'TitleDefault',
|
||||
'TitleTable',
|
||||
'TitleDatabase',
|
||||
'TitleServer',
|
||||
'PmaNoRelation_DisableWarning',
|
||||
'SuhosinDisableWarning',
|
||||
'LoginCookieValidityDisableWarning',
|
||||
'ReservedWordDisableWarning',
|
||||
'Console/Mode',
|
||||
'Console/StartHistory',
|
||||
'Console/AlwaysExpand',
|
||||
'Console/CurrentQuery',
|
||||
'Console/EnterExecutes',
|
||||
'Console/DarkTheme',
|
||||
'Console/Height',
|
||||
'Console/GroupQueries',
|
||||
'Console/OrderBy',
|
||||
'Console/Order',
|
||||
'UploadDir',
|
||||
'SaveDir',
|
||||
'RecodingEngine',
|
||||
'IconvExtraParams',
|
||||
':group:end',
|
||||
'ZipDump',
|
||||
'GZipDump',
|
||||
'BZipDump',
|
||||
'CompressOnFly',
|
||||
'blowfish_secret',
|
||||
'CheckConfigurationPermissions',
|
||||
'TrustedProxies',
|
||||
'AllowUserDropDatabase',
|
||||
'AllowArbitraryServer',
|
||||
'ArbitraryServerRegexp',
|
||||
'LoginCookieRecall',
|
||||
'LoginCookieStore',
|
||||
'LoginCookieDeleteAll',
|
||||
'CaptchaLoginPublicKey',
|
||||
'CaptchaLoginPrivateKey',
|
||||
'CaptchaSiteVerifyURL',
|
||||
'UserprefsDeveloperTab',
|
||||
'DBG/sql',
|
||||
'PersistentConnections',
|
||||
'ExecTimeLimit',
|
||||
'MemoryLimit',
|
||||
'UseDbSearch',
|
||||
'ProxyUrl',
|
||||
'ProxyUser',
|
||||
'ProxyPass',
|
||||
'AllowThirdPartyFraming',
|
||||
'ZeroConf',
|
||||
],
|
||||
FeaturesForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
212
tests/unit/Config/Forms/Setup/MainFormTest.php
Normal file
212
tests/unit/Config/Forms/Setup/MainFormTest.php
Normal file
@ -0,0 +1,212 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Setup;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Setup\MainForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(MainForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class MainFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$mainForm = new MainForm(new ConfigFile([]), 1);
|
||||
self::assertSame('Main panel', MainForm::getName());
|
||||
|
||||
$forms = $mainForm->getRegisteredForms();
|
||||
self::assertCount(7, $forms);
|
||||
|
||||
self::assertArrayHasKey('Startup', $forms);
|
||||
$form = $forms['Startup'];
|
||||
self::assertSame('Startup', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowCreateDb' => 'ShowCreateDb',
|
||||
'ShowStats' => 'ShowStats',
|
||||
'ShowServerInfo' => 'ShowServerInfo',
|
||||
'ShowPhpInfo' => 'ShowPhpInfo',
|
||||
'ShowChgPassword' => 'ShowChgPassword',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('DbStructure', $forms);
|
||||
$form = $forms['DbStructure'];
|
||||
self::assertSame('DbStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDbStructureCharset' => 'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment' => 'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation' => 'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate' => 'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck' => 'ShowDbStructureLastCheck',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('TableStructure', $forms);
|
||||
$form = $forms['TableStructure'];
|
||||
self::assertSame('TableStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'HideStructureActions' => 'HideStructureActions',
|
||||
'ShowColumnComments' => 'ShowColumnComments',
|
||||
':group:Default transformations' => ':group:Default transformations',
|
||||
'Hex' => 'DefaultTransformations/Hex',
|
||||
'Substring' => 'DefaultTransformations/Substring',
|
||||
'Bool2Text' => 'DefaultTransformations/Bool2Text',
|
||||
'External' => 'DefaultTransformations/External',
|
||||
'PreApPend' => 'DefaultTransformations/PreApPend',
|
||||
'DateFormat' => 'DefaultTransformations/DateFormat',
|
||||
'Inline' => 'DefaultTransformations/Inline',
|
||||
'TextImageLink' => 'DefaultTransformations/TextImageLink',
|
||||
'TextLink' => 'DefaultTransformations/TextLink',
|
||||
':group:end:0' => ':group:end:0',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Browse', $forms);
|
||||
$form = $forms['Browse'];
|
||||
self::assertSame('Browse', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TableNavigationLinksMode' => 'TableNavigationLinksMode',
|
||||
'ActionLinksMode' => 'ActionLinksMode',
|
||||
'ShowAll' => 'ShowAll',
|
||||
'MaxRows' => 'MaxRows',
|
||||
'Order' => 'Order',
|
||||
'BrowsePointerEnable' => 'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable' => 'BrowseMarkerEnable',
|
||||
'GridEditing' => 'GridEditing',
|
||||
'SaveCellsAtOnce' => 'SaveCellsAtOnce',
|
||||
'RepeatCells' => 'RepeatCells',
|
||||
'LimitChars' => 'LimitChars',
|
||||
'RowActionLinks' => 'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique' => 'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder' => 'TablePrimaryKeyOrder',
|
||||
'RememberSorting' => 'RememberSorting',
|
||||
'RelationalDisplay' => 'RelationalDisplay',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Edit', $forms);
|
||||
$form = $forms['Edit'];
|
||||
self::assertSame('Edit', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ProtectBinary' => 'ProtectBinary',
|
||||
'ShowFunctionFields' => 'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView' => 'ShowFieldTypesInDataEditView',
|
||||
'InsertRows' => 'InsertRows',
|
||||
'ForeignKeyDropdownOrder' => 'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit' => 'ForeignKeyMaxLimit',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Tabs', $forms);
|
||||
$form = $forms['Tabs'];
|
||||
self::assertSame('Tabs', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TabsMode' => 'TabsMode',
|
||||
'DefaultTabServer' => 'DefaultTabServer',
|
||||
'DefaultTabDatabase' => 'DefaultTabDatabase',
|
||||
'DefaultTabTable' => 'DefaultTabTable',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('DisplayRelationalSchema', $forms);
|
||||
$form = $forms['DisplayRelationalSchema'];
|
||||
self::assertSame('DisplayRelationalSchema', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(['PDFDefaultPageSize' => 'PDFDefaultPageSize'], $form->fields);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowCreateDb',
|
||||
'ShowStats',
|
||||
'ShowServerInfo',
|
||||
'ShowPhpInfo',
|
||||
'ShowChgPassword',
|
||||
'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck',
|
||||
'HideStructureActions',
|
||||
'ShowColumnComments',
|
||||
':group:Default transformations',
|
||||
'DefaultTransformations/Hex',
|
||||
'DefaultTransformations/Substring',
|
||||
'DefaultTransformations/Bool2Text',
|
||||
'DefaultTransformations/External',
|
||||
'DefaultTransformations/PreApPend',
|
||||
'DefaultTransformations/DateFormat',
|
||||
'DefaultTransformations/Inline',
|
||||
'DefaultTransformations/TextImageLink',
|
||||
'DefaultTransformations/TextLink',
|
||||
':group:end',
|
||||
'TableNavigationLinksMode',
|
||||
'ActionLinksMode',
|
||||
'ShowAll',
|
||||
'MaxRows',
|
||||
'Order',
|
||||
'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable',
|
||||
'GridEditing',
|
||||
'SaveCellsAtOnce',
|
||||
'RepeatCells',
|
||||
'LimitChars',
|
||||
'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder',
|
||||
'RememberSorting',
|
||||
'RelationalDisplay',
|
||||
'ProtectBinary',
|
||||
'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView',
|
||||
'InsertRows',
|
||||
'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit',
|
||||
'TabsMode',
|
||||
'DefaultTabServer',
|
||||
'DefaultTabDatabase',
|
||||
'DefaultTabTable',
|
||||
'PDFDefaultPageSize',
|
||||
],
|
||||
MainForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
172
tests/unit/Config/Forms/Setup/ServersFormTest.php
Normal file
172
tests/unit/Config/Forms/Setup/ServersFormTest.php
Normal file
@ -0,0 +1,172 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Setup;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Setup\ServersForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(ServersForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class ServersFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$serversForm = new ServersForm(new ConfigFile([]), 1);
|
||||
self::assertSame('', ServersForm::getName());
|
||||
|
||||
$forms = $serversForm->getRegisteredForms();
|
||||
self::assertCount(5, $forms);
|
||||
|
||||
self::assertArrayHasKey('Server', $forms);
|
||||
$form = $forms['Server'];
|
||||
self::assertSame('Server', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'verbose' => 'Servers/1/verbose',
|
||||
'host' => 'Servers/1/host',
|
||||
'port' => 'Servers/1/port',
|
||||
'socket' => 'Servers/1/socket',
|
||||
'ssl' => 'Servers/1/ssl',
|
||||
'compress' => 'Servers/1/compress',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Server_auth', $forms);
|
||||
$form = $forms['Server_auth'];
|
||||
self::assertSame('Server_auth', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'auth_type' => 'Servers/1/auth_type',
|
||||
':group:Config authentication' => 'Servers/1/:group:Config authentication',
|
||||
'user' => 'Servers/1/user',
|
||||
'password' => 'Servers/1/password',
|
||||
':group:end:0' => 'Servers/1/:group:end:0',
|
||||
':group:HTTP authentication' => 'Servers/1/:group:HTTP authentication',
|
||||
'auth_http_realm' => 'Servers/1/auth_http_realm',
|
||||
':group:end:1' => 'Servers/1/:group:end:1',
|
||||
':group:Signon authentication' => 'Servers/1/:group:Signon authentication',
|
||||
'SignonSession' => 'Servers/1/SignonSession',
|
||||
'SignonURL' => 'Servers/1/SignonURL',
|
||||
'LogoutURL' => 'Servers/1/LogoutURL',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Server_config', $forms);
|
||||
$form = $forms['Server_config'];
|
||||
self::assertSame('Server_config', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'only_db' => 'Servers/1/only_db',
|
||||
'hide_db' => 'Servers/1/hide_db',
|
||||
'AllowRoot' => 'Servers/1/AllowRoot',
|
||||
'AllowNoPassword' => 'Servers/1/AllowNoPassword',
|
||||
'DisableIS' => 'Servers/1/DisableIS',
|
||||
'order' => 'Servers/1/AllowDeny/order',
|
||||
'rules' => 'Servers/1/AllowDeny/rules',
|
||||
'SessionTimeZone' => 'Servers/1/SessionTimeZone',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Server_pmadb', $forms);
|
||||
$form = $forms['Server_pmadb'];
|
||||
self::assertSame('Server_pmadb', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame(
|
||||
[
|
||||
'Servers/1/pmadb' => 'phpmyadmin',
|
||||
'Servers/1/bookmarktable' => 'pma__bookmark',
|
||||
'Servers/1/relation' => 'pma__relation',
|
||||
'Servers/1/userconfig' => 'pma__userconfig',
|
||||
'Servers/1/users' => 'pma__users',
|
||||
'Servers/1/usergroups' => 'pma__usergroups',
|
||||
'Servers/1/navigationhiding' => 'pma__navigationhiding',
|
||||
'Servers/1/table_info' => 'pma__table_info',
|
||||
'Servers/1/column_info' => 'pma__column_info',
|
||||
'Servers/1/history' => 'pma__history',
|
||||
'Servers/1/recent' => 'pma__recent',
|
||||
'Servers/1/favorite' => 'pma__favorite',
|
||||
'Servers/1/table_uiprefs' => 'pma__table_uiprefs',
|
||||
'Servers/1/tracking' => 'pma__tracking',
|
||||
'Servers/1/table_coords' => 'pma__table_coords',
|
||||
'Servers/1/pdf_pages' => 'pma__pdf_pages',
|
||||
'Servers/1/savedsearches' => 'pma__savedsearches',
|
||||
'Servers/1/central_columns' => 'pma__central_columns',
|
||||
'Servers/1/designer_settings' => 'pma__designer_settings',
|
||||
'Servers/1/export_templates' => 'pma__export_templates',
|
||||
'Servers/1/MaxTableUiprefs' => 100,
|
||||
],
|
||||
$form->default,
|
||||
);
|
||||
self::assertSame(
|
||||
[
|
||||
'pmadb' => 'Servers/1/pmadb',
|
||||
'controlhost' => 'Servers/1/controlhost',
|
||||
'controlport' => 'Servers/1/controlport',
|
||||
'controluser' => 'Servers/1/controluser',
|
||||
'controlpass' => 'Servers/1/controlpass',
|
||||
'bookmarktable' => 'Servers/1/bookmarktable',
|
||||
'relation' => 'Servers/1/relation',
|
||||
'userconfig' => 'Servers/1/userconfig',
|
||||
'users' => 'Servers/1/users',
|
||||
'usergroups' => 'Servers/1/usergroups',
|
||||
'navigationhiding' => 'Servers/1/navigationhiding',
|
||||
'table_info' => 'Servers/1/table_info',
|
||||
'column_info' => 'Servers/1/column_info',
|
||||
'history' => 'Servers/1/history',
|
||||
'recent' => 'Servers/1/recent',
|
||||
'favorite' => 'Servers/1/favorite',
|
||||
'table_uiprefs' => 'Servers/1/table_uiprefs',
|
||||
'tracking' => 'Servers/1/tracking',
|
||||
'table_coords' => 'Servers/1/table_coords',
|
||||
'pdf_pages' => 'Servers/1/pdf_pages',
|
||||
'savedsearches' => 'Servers/1/savedsearches',
|
||||
'central_columns' => 'Servers/1/central_columns',
|
||||
'designer_settings' => 'Servers/1/designer_settings',
|
||||
'export_templates' => 'Servers/1/export_templates',
|
||||
'MaxTableUiprefs' => 'Servers/1/MaxTableUiprefs',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Server_tracking', $forms);
|
||||
$form = $forms['Server_tracking'];
|
||||
self::assertSame('Server_tracking', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'tracking_version_auto_create' => 'Servers/1/tracking_version_auto_create',
|
||||
'tracking_default_statements' => 'Servers/1/tracking_default_statements',
|
||||
'tracking_add_drop_view' => 'Servers/1/tracking_add_drop_view',
|
||||
'tracking_add_drop_table' => 'Servers/1/tracking_add_drop_table',
|
||||
'tracking_add_drop_database' => 'Servers/1/tracking_add_drop_database',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(['Servers', 'Servers', 'Servers', 'Servers', 'Servers'], ServersForm::getFields());
|
||||
}
|
||||
}
|
||||
94
tests/unit/Config/Forms/Setup/SqlFormTest.php
Normal file
94
tests/unit/Config/Forms/Setup/SqlFormTest.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\Setup;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\Setup\SqlForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(SqlForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class SqlFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$sqlForm = new SqlForm(new ConfigFile([]), 1);
|
||||
self::assertSame('SQL queries', SqlForm::getName());
|
||||
|
||||
$forms = $sqlForm->getRegisteredForms();
|
||||
self::assertCount(2, $forms);
|
||||
|
||||
self::assertArrayHasKey('Sql_queries', $forms);
|
||||
$form = $forms['Sql_queries'];
|
||||
self::assertSame('Sql_queries', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowSQL' => 'ShowSQL',
|
||||
'Confirm' => 'Confirm',
|
||||
'QueryHistoryMax' => 'QueryHistoryMax',
|
||||
'IgnoreMultiSubmitErrors' => 'IgnoreMultiSubmitErrors',
|
||||
'MaxCharactersInDisplayedSQL' => 'MaxCharactersInDisplayedSQL',
|
||||
'RetainQueryBox' => 'RetainQueryBox',
|
||||
'CodemirrorEnable' => 'CodemirrorEnable',
|
||||
'LintEnable' => 'LintEnable',
|
||||
'EnableAutocompleteForTablesAndColumns' => 'EnableAutocompleteForTablesAndColumns',
|
||||
'DefaultForeignKeyChecks' => 'DefaultForeignKeyChecks',
|
||||
'QueryHistoryDB' => 'QueryHistoryDB',
|
||||
'AllowSharedBookmarks' => 'AllowSharedBookmarks',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Sql_box', $forms);
|
||||
$form = $forms['Sql_box'];
|
||||
self::assertSame('Sql_box', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'Edit' => 'SQLQuery/Edit',
|
||||
'Explain' => 'SQLQuery/Explain',
|
||||
'ShowAsPHP' => 'SQLQuery/ShowAsPHP',
|
||||
'Refresh' => 'SQLQuery/Refresh',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowSQL',
|
||||
'Confirm',
|
||||
'QueryHistoryMax',
|
||||
'IgnoreMultiSubmitErrors',
|
||||
'MaxCharactersInDisplayedSQL',
|
||||
'RetainQueryBox',
|
||||
'CodemirrorEnable',
|
||||
'LintEnable',
|
||||
'EnableAutocompleteForTablesAndColumns',
|
||||
'DefaultForeignKeyChecks',
|
||||
'QueryHistoryDB',
|
||||
'AllowSharedBookmarks',
|
||||
'SQLQuery/Edit',
|
||||
'SQLQuery/Explain',
|
||||
'SQLQuery/ShowAsPHP',
|
||||
'SQLQuery/Refresh',
|
||||
],
|
||||
SqlForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
204
tests/unit/Config/Forms/User/MainFormTest.php
Normal file
204
tests/unit/Config/Forms/User/MainFormTest.php
Normal file
@ -0,0 +1,204 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\User;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\User\MainForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(MainForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class MainFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$mainForm = new MainForm(new ConfigFile([]), 1);
|
||||
self::assertSame('Main panel', MainForm::getName());
|
||||
|
||||
$forms = $mainForm->getRegisteredForms();
|
||||
self::assertCount(7, $forms);
|
||||
|
||||
self::assertArrayHasKey('Startup', $forms);
|
||||
$form = $forms['Startup'];
|
||||
self::assertSame('Startup', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
['ShowCreateDb' => 'ShowCreateDb', 'ShowStats' => 'ShowStats', 'ShowServerInfo' => 'ShowServerInfo'],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('DbStructure', $forms);
|
||||
$form = $forms['DbStructure'];
|
||||
self::assertSame('DbStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDbStructureCharset' => 'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment' => 'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation' => 'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate' => 'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck' => 'ShowDbStructureLastCheck',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('TableStructure', $forms);
|
||||
$form = $forms['TableStructure'];
|
||||
self::assertSame('TableStructure', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'HideStructureActions' => 'HideStructureActions',
|
||||
'ShowColumnComments' => 'ShowColumnComments',
|
||||
':group:Default transformations' => ':group:Default transformations',
|
||||
'Hex' => 'DefaultTransformations/Hex',
|
||||
'Substring' => 'DefaultTransformations/Substring',
|
||||
'Bool2Text' => 'DefaultTransformations/Bool2Text',
|
||||
'External' => 'DefaultTransformations/External',
|
||||
'PreApPend' => 'DefaultTransformations/PreApPend',
|
||||
'DateFormat' => 'DefaultTransformations/DateFormat',
|
||||
'Inline' => 'DefaultTransformations/Inline',
|
||||
'TextImageLink' => 'DefaultTransformations/TextImageLink',
|
||||
'TextLink' => 'DefaultTransformations/TextLink',
|
||||
':group:end:0' => ':group:end:0',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Browse', $forms);
|
||||
$form = $forms['Browse'];
|
||||
self::assertSame('Browse', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TableNavigationLinksMode' => 'TableNavigationLinksMode',
|
||||
'ActionLinksMode' => 'ActionLinksMode',
|
||||
'ShowAll' => 'ShowAll',
|
||||
'MaxRows' => 'MaxRows',
|
||||
'Order' => 'Order',
|
||||
'BrowsePointerEnable' => 'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable' => 'BrowseMarkerEnable',
|
||||
'GridEditing' => 'GridEditing',
|
||||
'SaveCellsAtOnce' => 'SaveCellsAtOnce',
|
||||
'RepeatCells' => 'RepeatCells',
|
||||
'LimitChars' => 'LimitChars',
|
||||
'RowActionLinks' => 'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique' => 'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder' => 'TablePrimaryKeyOrder',
|
||||
'RememberSorting' => 'RememberSorting',
|
||||
'RelationalDisplay' => 'RelationalDisplay',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Edit', $forms);
|
||||
$form = $forms['Edit'];
|
||||
self::assertSame('Edit', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ProtectBinary' => 'ProtectBinary',
|
||||
'ShowFunctionFields' => 'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView' => 'ShowFieldTypesInDataEditView',
|
||||
'InsertRows' => 'InsertRows',
|
||||
'ForeignKeyDropdownOrder' => 'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit' => 'ForeignKeyMaxLimit',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Tabs', $forms);
|
||||
$form = $forms['Tabs'];
|
||||
self::assertSame('Tabs', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'TabsMode' => 'TabsMode',
|
||||
'DefaultTabServer' => 'DefaultTabServer',
|
||||
'DefaultTabDatabase' => 'DefaultTabDatabase',
|
||||
'DefaultTabTable' => 'DefaultTabTable',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('DisplayRelationalSchema', $forms);
|
||||
$form = $forms['DisplayRelationalSchema'];
|
||||
self::assertSame('DisplayRelationalSchema', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(['PDFDefaultPageSize' => 'PDFDefaultPageSize'], $form->fields);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowCreateDb',
|
||||
'ShowStats',
|
||||
'ShowServerInfo',
|
||||
'ShowDbStructureCharset',
|
||||
'ShowDbStructureComment',
|
||||
'ShowDbStructureCreation',
|
||||
'ShowDbStructureLastUpdate',
|
||||
'ShowDbStructureLastCheck',
|
||||
'HideStructureActions',
|
||||
'ShowColumnComments',
|
||||
':group:Default transformations',
|
||||
'DefaultTransformations/Hex',
|
||||
'DefaultTransformations/Substring',
|
||||
'DefaultTransformations/Bool2Text',
|
||||
'DefaultTransformations/External',
|
||||
'DefaultTransformations/PreApPend',
|
||||
'DefaultTransformations/DateFormat',
|
||||
'DefaultTransformations/Inline',
|
||||
'DefaultTransformations/TextImageLink',
|
||||
'DefaultTransformations/TextLink',
|
||||
':group:end',
|
||||
'TableNavigationLinksMode',
|
||||
'ActionLinksMode',
|
||||
'ShowAll',
|
||||
'MaxRows',
|
||||
'Order',
|
||||
'BrowsePointerEnable',
|
||||
'BrowseMarkerEnable',
|
||||
'GridEditing',
|
||||
'SaveCellsAtOnce',
|
||||
'RepeatCells',
|
||||
'LimitChars',
|
||||
'RowActionLinks',
|
||||
'RowActionLinksWithoutUnique',
|
||||
'TablePrimaryKeyOrder',
|
||||
'RememberSorting',
|
||||
'RelationalDisplay',
|
||||
'ProtectBinary',
|
||||
'ShowFunctionFields',
|
||||
'ShowFieldTypesInDataEditView',
|
||||
'InsertRows',
|
||||
'ForeignKeyDropdownOrder',
|
||||
'ForeignKeyMaxLimit',
|
||||
'TabsMode',
|
||||
'DefaultTabServer',
|
||||
'DefaultTabDatabase',
|
||||
'DefaultTabTable',
|
||||
'PDFDefaultPageSize',
|
||||
],
|
||||
MainForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
148
tests/unit/Config/Forms/User/NaviFormTest.php
Normal file
148
tests/unit/Config/Forms/User/NaviFormTest.php
Normal file
@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\User;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\User\NaviForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(NaviForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class NaviFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$naviForm = new NaviForm(new ConfigFile([]), 1);
|
||||
self::assertSame('Navigation panel', NaviForm::getName());
|
||||
|
||||
$forms = $naviForm->getRegisteredForms();
|
||||
self::assertCount(5, $forms);
|
||||
|
||||
self::assertArrayHasKey('Navi_panel', $forms);
|
||||
$form = $forms['Navi_panel'];
|
||||
self::assertSame('Navi_panel', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDatabasesNavigationAsTree' => 'ShowDatabasesNavigationAsTree',
|
||||
'NavigationLinkWithMainPanel' => 'NavigationLinkWithMainPanel',
|
||||
'NavigationDisplayLogo' => 'NavigationDisplayLogo',
|
||||
'NavigationLogoLink' => 'NavigationLogoLink',
|
||||
'NavigationLogoLinkWindow' => 'NavigationLogoLinkWindow',
|
||||
'NavigationTreePointerEnable' => 'NavigationTreePointerEnable',
|
||||
'FirstLevelNavigationItems' => 'FirstLevelNavigationItems',
|
||||
'NavigationTreeDisplayItemFilterMinimum' => 'NavigationTreeDisplayItemFilterMinimum',
|
||||
'NumRecentTables' => 'NumRecentTables',
|
||||
'NumFavoriteTables' => 'NumFavoriteTables',
|
||||
'NavigationWidth' => 'NavigationWidth',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Navi_tree', $forms);
|
||||
$form = $forms['Navi_tree'];
|
||||
self::assertSame('Navi_tree', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'MaxNavigationItems' => 'MaxNavigationItems',
|
||||
'NavigationTreeEnableGrouping' => 'NavigationTreeEnableGrouping',
|
||||
'NavigationTreeEnableExpansion' => 'NavigationTreeEnableExpansion',
|
||||
'NavigationTreeShowTables' => 'NavigationTreeShowTables',
|
||||
'NavigationTreeShowViews' => 'NavigationTreeShowViews',
|
||||
'NavigationTreeShowFunctions' => 'NavigationTreeShowFunctions',
|
||||
'NavigationTreeShowProcedures' => 'NavigationTreeShowProcedures',
|
||||
'NavigationTreeShowEvents' => 'NavigationTreeShowEvents',
|
||||
'NavigationTreeAutoexpandSingleDb' => 'NavigationTreeAutoexpandSingleDb',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Navi_servers', $forms);
|
||||
$form = $forms['Navi_servers'];
|
||||
self::assertSame('Navi_servers', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
['NavigationDisplayServers' => 'NavigationDisplayServers', 'DisplayServersList' => 'DisplayServersList'],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Navi_databases', $forms);
|
||||
$form = $forms['Navi_databases'];
|
||||
self::assertSame('Navi_databases', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'NavigationTreeDisplayDbFilterMinimum' => 'NavigationTreeDisplayDbFilterMinimum',
|
||||
'NavigationTreeDbSeparator' => 'NavigationTreeDbSeparator',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Navi_tables', $forms);
|
||||
$form = $forms['Navi_tables'];
|
||||
self::assertSame('Navi_tables', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'NavigationTreeDefaultTabTable' => 'NavigationTreeDefaultTabTable',
|
||||
'NavigationTreeDefaultTabTable2' => 'NavigationTreeDefaultTabTable2',
|
||||
'NavigationTreeTableSeparator' => 'NavigationTreeTableSeparator',
|
||||
'NavigationTreeTableLevel' => 'NavigationTreeTableLevel',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowDatabasesNavigationAsTree',
|
||||
'NavigationLinkWithMainPanel',
|
||||
'NavigationDisplayLogo',
|
||||
'NavigationLogoLink',
|
||||
'NavigationLogoLinkWindow',
|
||||
'NavigationTreePointerEnable',
|
||||
'FirstLevelNavigationItems',
|
||||
'NavigationTreeDisplayItemFilterMinimum',
|
||||
'NumRecentTables',
|
||||
'NumFavoriteTables',
|
||||
'NavigationWidth',
|
||||
'MaxNavigationItems',
|
||||
'NavigationTreeEnableGrouping',
|
||||
'NavigationTreeEnableExpansion',
|
||||
'NavigationTreeShowTables',
|
||||
'NavigationTreeShowViews',
|
||||
'NavigationTreeShowFunctions',
|
||||
'NavigationTreeShowProcedures',
|
||||
'NavigationTreeShowEvents',
|
||||
'NavigationTreeAutoexpandSingleDb',
|
||||
'NavigationDisplayServers',
|
||||
'DisplayServersList',
|
||||
'NavigationTreeDisplayDbFilterMinimum',
|
||||
'NavigationTreeDbSeparator',
|
||||
'NavigationTreeDefaultTabTable',
|
||||
'NavigationTreeDefaultTabTable2',
|
||||
'NavigationTreeTableSeparator',
|
||||
'NavigationTreeTableLevel',
|
||||
],
|
||||
NaviForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
90
tests/unit/Config/Forms/User/SqlFormTest.php
Normal file
90
tests/unit/Config/Forms/User/SqlFormTest.php
Normal file
@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Tests\Config\Forms\User;
|
||||
|
||||
use PhpMyAdmin\Config\ConfigFile;
|
||||
use PhpMyAdmin\Config\Form;
|
||||
use PhpMyAdmin\Config\FormDisplay;
|
||||
use PhpMyAdmin\Config\Forms\BaseForm;
|
||||
use PhpMyAdmin\Config\Forms\User\SqlForm;
|
||||
use PhpMyAdmin\Tests\AbstractTestCase;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
#[CoversClass(SqlForm::class)]
|
||||
#[CoversClass(BaseForm::class)]
|
||||
#[CoversClass(FormDisplay::class)]
|
||||
#[CoversClass(Form::class)]
|
||||
final class SqlFormTest extends AbstractTestCase
|
||||
{
|
||||
public function testRegisteredForms(): void
|
||||
{
|
||||
Form::resetGroupCounter();
|
||||
|
||||
$sqlForm = new SqlForm(new ConfigFile([]), 1);
|
||||
self::assertSame('SQL queries', SqlForm::getName());
|
||||
|
||||
$forms = $sqlForm->getRegisteredForms();
|
||||
self::assertCount(2, $forms);
|
||||
|
||||
self::assertArrayHasKey('Sql_queries', $forms);
|
||||
$form = $forms['Sql_queries'];
|
||||
self::assertSame('Sql_queries', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowSQL' => 'ShowSQL',
|
||||
'Confirm' => 'Confirm',
|
||||
'QueryHistoryMax' => 'QueryHistoryMax',
|
||||
'IgnoreMultiSubmitErrors' => 'IgnoreMultiSubmitErrors',
|
||||
'MaxCharactersInDisplayedSQL' => 'MaxCharactersInDisplayedSQL',
|
||||
'RetainQueryBox' => 'RetainQueryBox',
|
||||
'CodemirrorEnable' => 'CodemirrorEnable',
|
||||
'LintEnable' => 'LintEnable',
|
||||
'EnableAutocompleteForTablesAndColumns' => 'EnableAutocompleteForTablesAndColumns',
|
||||
'DefaultForeignKeyChecks' => 'DefaultForeignKeyChecks',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
|
||||
self::assertArrayHasKey('Sql_box', $forms);
|
||||
$form = $forms['Sql_box'];
|
||||
self::assertSame('Sql_box', $form->name);
|
||||
self::assertSame(1, $form->index);
|
||||
self::assertSame([], $form->default);
|
||||
self::assertSame(
|
||||
[
|
||||
'Edit' => 'SQLQuery/Edit',
|
||||
'Explain' => 'SQLQuery/Explain',
|
||||
'ShowAsPHP' => 'SQLQuery/ShowAsPHP',
|
||||
'Refresh' => 'SQLQuery/Refresh',
|
||||
],
|
||||
$form->fields,
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetFields(): void
|
||||
{
|
||||
self::assertSame(
|
||||
[
|
||||
'ShowSQL',
|
||||
'Confirm',
|
||||
'QueryHistoryMax',
|
||||
'IgnoreMultiSubmitErrors',
|
||||
'MaxCharactersInDisplayedSQL',
|
||||
'RetainQueryBox',
|
||||
'CodemirrorEnable',
|
||||
'LintEnable',
|
||||
'EnableAutocompleteForTablesAndColumns',
|
||||
'DefaultForeignKeyChecks',
|
||||
'SQLQuery/Edit',
|
||||
'SQLQuery/Explain',
|
||||
'SQLQuery/ShowAsPHP',
|
||||
'SQLQuery/Refresh',
|
||||
],
|
||||
SqlForm::getFields(),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user