From bbffd8dd1a28016f79e4db2c85eddc2fa408f7d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Tue, 9 Sep 2025 19:52:26 -0300 Subject: [PATCH] Add unit test for Config\Validator::getValidators() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- tests/unit/Config/ValidatorTest.php | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tests/unit/Config/ValidatorTest.php diff --git a/tests/unit/Config/ValidatorTest.php b/tests/unit/Config/ValidatorTest.php new file mode 100644 index 0000000000..ace5c82347 --- /dev/null +++ b/tests/unit/Config/ValidatorTest.php @@ -0,0 +1,67 @@ +setValue(null, null); + Config::$instance = new Config(); + $validators = Validator::getValidators(new ConfigFile([])); + $expected = [ + 'Console/Height' => 'validateNonNegativeNumber', + 'CharTextareaCols' => 'validatePositiveNumber', + 'CharTextareaRows' => 'validatePositiveNumber', + 'ExecTimeLimit' => 'validateNonNegativeNumber', + 'Export/sql_max_query_size' => 'validatePositiveNumber', + 'FirstLevelNavigationItems' => 'validatePositiveNumber', + 'ForeignKeyMaxLimit' => 'validatePositiveNumber', + 'Import/csv_enclosed' => [['validateByRegex', '/^.?$/']], + 'Import/csv_escaped' => [['validateByRegex', '/^.$/']], + 'Import/csv_terminated' => [['validateByRegex', '/^.$/']], + 'Import/ldi_enclosed' => [['validateByRegex', '/^.?$/']], + 'Import/ldi_escaped' => [['validateByRegex', '/^.$/']], + 'Import/ldi_terminated' => [['validateByRegex', '/^.$/']], + 'Import/skip_queries' => 'validateNonNegativeNumber', + 'InsertRows' => 'validatePositiveNumber', + 'NumRecentTables' => 'validateNonNegativeNumber', + 'NumFavoriteTables' => 'validateNonNegativeNumber', + 'LimitChars' => 'validatePositiveNumber', + 'LoginCookieValidity' => 'validatePositiveNumber', + 'LoginCookieStore' => 'validateNonNegativeNumber', + 'MaxDbList' => ['validatePositiveNumber', ['validateUpperBound', 100]], + 'MaxNavigationItems' => 'validatePositiveNumber', + 'MaxCharactersInDisplayedSQL' => 'validatePositiveNumber', + 'MaxRows' => 'validatePositiveNumber', + 'MaxSizeForInputField' => 'validatePositiveNumber', + 'MinSizeForInputField' => 'validateNonNegativeNumber', + 'MaxTableList' => ['validatePositiveNumber', ['validateUpperBound', 250]], + 'MaxRoutineList' => ['validatePositiveNumber', ['validateUpperBound', 250]], + 'MemoryLimit' => [['validateByRegex', '/^(-1|(\d+(?:[kmg])?))$/i']], + 'NavigationTreeDisplayItemFilterMinimum' => 'validatePositiveNumber', + 'NavigationTreeTableLevel' => 'validatePositiveNumber', + 'NavigationWidth' => 'validateNonNegativeNumber', + 'QueryHistoryMax' => ['validatePositiveNumber', ['validateUpperBound', 25]], + 'RepeatCells' => 'validateNonNegativeNumber', + 'Server' => 'validateServer', + 'Server_pmadb' => 'validatePMAStorage', + 'Servers/1/port' => 'validatePortNumber', + 'Servers/1/hide_db' => 'validateRegex', + 'TextareaCols' => 'validatePositiveNumber', + 'TextareaRows' => 'validatePositiveNumber', + 'TrustedProxies' => 'validateTrustedProxies', + ]; + self::assertSame($expected, $validators); + } +}