From 6180036e754d9f848ea5b9446a73c2287e1dc5bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Sun, 27 Aug 2023 19:36:53 -0300 Subject: [PATCH] Improve type definition of Config::$settings array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- libraries/classes/Config.php | 85 +------ libraries/classes/Config/Settings.php | 208 +++++++++++++++++- libraries/classes/Config/Settings/Console.php | 14 +- libraries/classes/Config/Settings/Debug.php | 3 +- libraries/classes/Config/Settings/Export.php | 113 +++++++++- libraries/classes/Config/Settings/Import.php | 31 ++- libraries/classes/Config/Settings/Schema.php | 23 +- libraries/classes/Config/Settings/Server.php | 163 +++++++------- .../classes/Config/Settings/SqlQueryBox.php | 3 +- .../Config/Settings/Transformations.php | 13 +- phpstan-baseline.neon | 42 ++-- psalm-baseline.xml | 30 ++- psalm.xml | 1 + test/classes/Config/Settings/ConsoleTest.php | 10 - test/classes/Config/Settings/DebugTest.php | 4 - test/classes/Config/Settings/ExportTest.php | 109 --------- test/classes/Config/Settings/ImportTest.php | 27 --- .../Config/Settings/SqlQueryBoxTest.php | 4 - .../Config/Settings/TransformationsTest.php | 9 - test/classes/Config/SettingsTest.php | 45 ---- 20 files changed, 537 insertions(+), 400 deletions(-) diff --git a/libraries/classes/Config.php b/libraries/classes/Config.php index d8f2eb70a5..479ff3d340 100644 --- a/libraries/classes/Config.php +++ b/libraries/classes/Config.php @@ -70,6 +70,8 @@ use const PHP_URL_SCHEME; * Configuration handling * * @psalm-import-type ConnectionType from Connection + * @psalm-import-type ServerSettingsType from Server + * @psalm-import-type SettingsType from Settings */ class Config { @@ -81,7 +83,7 @@ class Config /** @var mixed[] configuration settings, without user preferences applied */ public array $baseSettings; - /** @var mixed[] configuration settings */ + /** @psalm-var SettingsType */ public array $settings; /** @var string config source */ @@ -103,86 +105,7 @@ class Config private bool $hasSelectedServer = false; - /** - * @psalm-var array{ - * host: string, - * port: string, - * socket: string, - * ssl: bool, - * ssl_key: string|null, - * ssl_cert: string|null, - * ssl_ca: string|null, - * ssl_ca_path: string|null, - * ssl_ciphers: string|null, - * ssl_verify: bool, - * compress: bool, - * controlhost: string, - * controlport: string, - * controluser: string, - * controlpass: string, - * control_socket: string|null, - * control_ssl: bool|null, - * control_ssl_key: string|null, - * control_ssl_cert: string|null, - * control_ssl_ca: string|null, - * control_ssl_ca_path: string|null, - * control_ssl_ciphers: string|null, - * control_ssl_verify: bool|null, - * control_compress: bool|null, - * control_hide_connection_errors: bool|null, - * auth_type: non-empty-string, - * auth_http_realm: string, - * user: string, - * password: string, - * SignonSession: string, - * SignonCookieParams: array{ - * lifetime: int<0, max>, - * path: string, - * domain: string, - * secure: bool, - * httponly: bool, - * samesite?: 'Lax'|'Strict', - * }, - * SignonScript: string, - * SignonURL: string, - * LogoutURL: string, - * only_db: string|string[], - * hide_db: string, - * verbose: string, - * pmadb: string, - * bookmarktable: string|false, - * relation: string|false, - * table_info: string|false, - * table_coords: string|false, - * pdf_pages: string|false, - * column_info: string|false, - * history: string|false, - * recent: string|false, - * favorite: string|false, - * table_uiprefs: string|false, - * tracking: string|false, - * userconfig: string|false, - * users: string|false, - * usergroups: string|false, - * navigationhiding: string|false, - * savedsearches: string|false, - * central_columns: string|false, - * designer_settings: string|false, - * export_templates: string|false, - * MaxTableUiprefs: int<1, max>, - * SessionTimeZone: string, - * AllowRoot: bool, - * AllowNoPassword: bool, - * AllowDeny: array{order: ''|'deny,allow'|'allow,deny'|'explicit', rules: string[]}, - * DisableIS: bool, - * tracking_version_auto_create: bool, - * tracking_default_statements: string, - * tracking_add_drop_view: bool, - * tracking_add_drop_table: bool, - * tracking_add_drop_database: bool, - * hide_connection_errors: bool, - * } - */ + /** @psalm-var ServerSettingsType */ public array $selectedServer; public function __construct() diff --git a/libraries/classes/Config/Settings.php b/libraries/classes/Config/Settings.php index 377ba4e35b..c7ee6b8634 100644 --- a/libraries/classes/Config/Settings.php +++ b/libraries/classes/Config/Settings.php @@ -30,7 +30,211 @@ use const VERSION_CHECK_DEFAULT; // phpcs:disable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps -/** @psalm-immutable */ +/** + * @psalm-immutable + * @psalm-import-type ConsoleSettingsType from Console + * @psalm-import-type DebugSettingsType from Debug + * @psalm-import-type ExportSettingsType from Export + * @psalm-import-type ImportSettingsType from Import + * @psalm-import-type SchemaSettingsType from Schema + * @psalm-import-type ServerSettingsType from Server + * @psalm-import-type SqlQueryBoxSettingsType from SqlQueryBox + * @psalm-import-type TransformationsSettingsType from Transformations + * @psalm-type SettingsType = array{ + * PmaAbsoluteUri: string, + * AuthLog: string, + * AuthLogSuccess: bool, + * PmaNoRelation_DisableWarning: bool, + * SuhosinDisableWarning: bool, + * LoginCookieValidityDisableWarning: bool, + * ReservedWordDisableWarning: bool, + * TranslationWarningThreshold: int, + * AllowThirdPartyFraming: 'sameorigin'|bool, + * blowfish_secret: string, + * Servers: array, ServerSettingsType>, + * ServerDefault: int<0, max>, + * VersionCheck: bool, + * ProxyUrl: string, + * ProxyUser: string, + * ProxyPass: string, + * MaxDbList: int<1, max>, + * MaxTableList: int<1, max>, + * ShowHint: bool, + * MaxCharactersInDisplayedSQL: int<1, max>, + * OBGzip: 'auto'|bool, + * PersistentConnections: bool, + * ExecTimeLimit: int<0, max>, + * SessionSavePath: string, + * MysqlSslWarningSafeHosts: array, + * MemoryLimit: string, + * SkipLockedTables: bool, + * ShowSQL: bool, + * RetainQueryBox: bool, + * CodemirrorEnable: bool, + * LintEnable: bool, + * AllowUserDropDatabase: bool, + * Confirm: bool, + * CookieSameSite: 'Lax'|'None'|'Strict', + * LoginCookieRecall: bool, + * LoginCookieValidity: int<1, max>, + * LoginCookieStore: int<0, max>, + * LoginCookieDeleteAll: bool, + * UseDbSearch: bool, + * IgnoreMultiSubmitErrors: bool, + * URLQueryEncryption: bool, + * URLQueryEncryptionSecretKey: string, + * AllowArbitraryServer: bool, + * ArbitraryServerRegexp: string, + * CaptchaMethod: 'checkbox'|'invisible', + * CaptchaApi: string, + * CaptchaCsp: string, + * CaptchaRequestParam: string, + * CaptchaResponseParam: string, + * CaptchaLoginPublicKey: string, + * CaptchaLoginPrivateKey: string, + * CaptchaSiteVerifyURL: string, + * enable_drag_drop_import: bool, + * ShowDatabasesNavigationAsTree: bool, + * FirstLevelNavigationItems: int<1, max>, + * MaxNavigationItems: int<1, max>, + * NavigationTreeEnableGrouping: bool, + * NavigationTreeDbSeparator: string, + * NavigationTreeTableSeparator: array|false|string, + * NavigationTreeTableLevel: int<1, max>, + * NavigationLinkWithMainPanel: bool, + * NavigationDisplayLogo: bool, + * NavigationLogoLink: string, + * NavigationLogoLinkWindow: 'main'|'new', + * NumRecentTables: int<0, max>, + * NumFavoriteTables: int<0, max>, + * NavigationTreeDisplayItemFilterMinimum: int<1, max>, + * NavigationDisplayServers: bool, + * DisplayServersList: bool, + * NavigationTreeDisplayDbFilterMinimum: int<1, max>, + * NavigationTreeDefaultTabTable: string, + * NavigationTreeDefaultTabTable2: string, + * NavigationTreeEnableExpansion: bool, + * NavigationTreeShowTables: bool, + * NavigationTreeShowViews: bool, + * NavigationTreeShowFunctions: bool, + * NavigationTreeShowProcedures: bool, + * NavigationTreeShowEvents: bool, + * NavigationWidth: int<0, max>, + * NavigationTreeAutoexpandSingleDb: bool, + * ShowStats: bool, + * ShowPhpInfo: bool, + * ShowServerInfo: 'database-server'|'web-server'|bool, + * ShowChgPassword: bool, + * ShowCreateDb: bool, + * ShowDbStructureCharset: bool, + * ShowDbStructureComment: bool, + * ShowDbStructureCreation: bool, + * ShowDbStructureLastUpdate: bool, + * ShowDbStructureLastCheck: bool, + * HideStructureActions: bool, + * ShowColumnComments: bool, + * TableNavigationLinksMode: 'both'|'icons'|'text', + * ShowAll: bool, + * MaxRows: int<1, max>, + * Order: 'ASC'|'DESC'|'SMART', + * SaveCellsAtOnce: bool, + * GridEditing: 'click'|'disabled'|'double-click', + * RelationalDisplay: 'D'|'K', + * ProtectBinary: 'all'|'blob'|'noblob'|false, + * ShowFunctionFields: bool, + * ShowFieldTypesInDataEditView: bool, + * CharEditing: 'input'|'textarea', + * MinSizeForInputField: int<0, max>, + * MaxSizeForInputField: int<1, max>, + * InsertRows: int<1, max>, + * ForeignKeyDropdownOrder: array{0: 'content-id'|'id-content', 1?: 'content-id'|'id-content'}, + * ForeignKeyMaxLimit: int<1, max>, + * DefaultForeignKeyChecks: 'default'|'disable'|'enable', + * ZipDump: bool, + * GZipDump: bool, + * BZipDump: bool, + * CompressOnFly: bool, + * TabsMode: 'both'|'icons'|'text', + * ActionLinksMode: 'both'|'icons'|'text', + * PropertiesNumColumns: int<1, max>, + * DefaultTabServer: string, + * DefaultTabDatabase: string, + * DefaultTabTable: string, + * RowActionType: 'both'|'icons'|'text', + * Export: ExportSettingsType, + * Import: ImportSettingsType, + * Schema: SchemaSettingsType, + * PDFPageSizes: array, + * PDFDefaultPageSize: string, + * DefaultLang: string, + * DefaultConnectionCollation: string, + * Lang: string, + * FilterLanguages: string, + * RecodingEngine: string, + * IconvExtraParams: string, + * AvailableCharsets: array, + * NavigationTreePointerEnable: bool, + * BrowsePointerEnable: bool, + * BrowseMarkerEnable: bool, + * TextareaCols: int<1, max>, + * TextareaRows: int<1, max>, + * LongtextDoubleTextarea: bool, + * TextareaAutoSelect: bool, + * CharTextareaCols: int<1, max>, + * CharTextareaRows: int<1, max>, + * LimitChars: int<1, max>, + * RowActionLinks: string, + * RowActionLinksWithoutUnique: bool, + * TablePrimaryKeyOrder: 'ASC'|'DESC'|'NONE', + * RememberSorting: bool, + * ShowBrowseComments: bool, + * ShowPropertyComments: bool, + * RepeatCells: int<0, max>, + * QueryHistoryDB: bool, + * QueryHistoryMax: int<1, max>, + * AllowSharedBookmarks: bool, + * BrowseMIME: bool, + * MaxExactCount: int<1, max>, + * MaxExactCountViews: int<0, max>, + * NaturalOrder: bool, + * InitialSlidersState: 'closed'|'disabled'|'open', + * UserprefsDisallow: array, + * UserprefsDeveloperTab: bool, + * TitleTable: string, + * TitleDatabase: string, + * TitleServer: string, + * TitleDefault: string, + * ThemeManager: bool, + * ThemeDefault: string, + * ThemePerServer: bool, + * DefaultQueryTable: string, + * DefaultQueryDatabase: string, + * SQLQuery: SqlQueryBoxSettingsType, + * EnableAutocompleteForTablesAndColumns: bool, + * UploadDir: string, + * SaveDir: string, + * TempDir: string, + * GD2Available: 'auto'|'no'|'yes', + * TrustedProxies: array, + * CheckConfigurationPermissions: bool, + * LinkLengthLimit: int<1, max>, + * CSPAllow: string, + * DisableMultiTableMaintenance: bool, + * SendErrorReports: 'always'|'ask'|'never', + * ConsoleEnterExecutes: bool, + * ZeroConf: bool, + * DBG: DebugSettingsType, + * environment: 'development'|'production', + * DefaultFunctions: array, + * maxRowPlotLimit: int<1, max>, + * ShowGitRevision: bool, + * MysqlMinVersion: array{internal: int, human: string}, + * DisableShortcutKeys: bool, + * Console: ConsoleSettingsType, + * DefaultTransformations: TransformationsSettingsType, + * FirstDayOfCalendar: int<0, max>, + * } + */ final class Settings { /** @@ -2616,7 +2820,7 @@ final class Settings $this->FirstDayOfCalendar = $this->setFirstDayOfCalendar($settings); } - /** @return array|bool|int|string|null> */ + /** @psalm-return SettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Console.php b/libraries/classes/Config/Settings/Console.php index 8356eae43e..eaefe07141 100644 --- a/libraries/classes/Config/Settings/Console.php +++ b/libraries/classes/Config/Settings/Console.php @@ -14,6 +14,18 @@ use function in_array; * @link https://docs.phpmyadmin.net/en/latest/config.html#console-settings * * @psalm-immutable + * @psalm-type ConsoleSettingsType = array{ + * StartHistory: bool, + * AlwaysExpand: bool, + * CurrentQuery: bool, + * EnterExecutes: bool, + * DarkTheme: bool, + * Mode: 'collapse'|'info'|'show', + * Height: int<1, max>, + * GroupQueries: bool, + * OrderBy: 'count'|'exec'|'time', + * Order: 'asc'|'desc', + * } */ final class Console { @@ -138,7 +150,7 @@ final class Console $this->Order = $this->setOrder($console); } - /** @return array */ + /** @psalm-return ConsoleSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Debug.php b/libraries/classes/Config/Settings/Debug.php index 0395bd33c4..90bb8f387d 100644 --- a/libraries/classes/Config/Settings/Debug.php +++ b/libraries/classes/Config/Settings/Debug.php @@ -8,6 +8,7 @@ namespace PhpMyAdmin\Config\Settings; * @link https://docs.phpmyadmin.net/en/latest/config.html#cfg_DBG * * @psalm-immutable + * @psalm-type DebugSettingsType = array{sql: bool, sqllog: bool, demo: bool, simple2fa: bool} */ final class Debug { @@ -64,7 +65,7 @@ final class Debug $this->simple2fa = $this->setSimple2fa($debug); } - /** @return array */ + /** @psalm-return DebugSettingsType */ public function asArray(): array { return ['sql' => $this->sql, 'sqllog' => $this->sqllog, 'demo' => $this->demo, 'simple2fa' => $this->simple2fa]; diff --git a/libraries/classes/Config/Settings/Export.php b/libraries/classes/Config/Settings/Export.php index c96642729d..e9cd6c5931 100644 --- a/libraries/classes/Config/Settings/Export.php +++ b/libraries/classes/Config/Settings/Export.php @@ -15,6 +15,117 @@ use function in_array; * * @psalm-immutable * @psalm-type StructureOrDataType = 'structure'|'data'|'structure_and_data' + * @psalm-type ExportSettingsType = array{ + * format: string, + * method: 'custom'|'custom-no-form'|'quick', + * compression: 'gzip'|'none'|'zip', + * lock_tables: bool, + * as_separate_files: bool, + * asfile: bool, + * charset: string, + * onserver: bool, + * onserver_overwrite: bool, + * quick_export_onserver: bool, + * quick_export_onserver_overwrite: bool, + * remember_file_template: bool, + * file_template_table: string, + * file_template_database: string, + * file_template_server: string, + * codegen_structure_or_data: 'data'|'structure'|'structure_and_data', + * codegen_format: 0|1, + * ods_columns: bool, + * ods_null: string, + * odt_structure_or_data: 'data'|'structure'|'structure_and_data', + * odt_columns: bool, + * odt_relation: bool, + * odt_comments: bool, + * odt_mime: bool, + * odt_null: string, + * htmlword_structure_or_data: 'data'|'structure'|'structure_and_data', + * htmlword_columns: bool, + * htmlword_null: string, + * texytext_structure_or_data: 'data'|'structure'|'structure_and_data', + * texytext_columns: bool, + * texytext_null: string, + * csv_columns: bool, + * csv_structure_or_data: 'data'|'structure'|'structure_and_data', + * csv_null: string, + * csv_separator: string, + * csv_enclosed: string, + * csv_escaped: string, + * csv_terminated: string, + * csv_removeCRLF: bool, + * excel_columns: bool, + * excel_null: string, + * excel_edition: 'mac_excel2003'|'mac_excel2008'|'win', + * excel_removeCRLF: bool, + * excel_structure_or_data: 'data'|'structure'|'structure_and_data', + * latex_structure_or_data: 'data'|'structure'|'structure_and_data', + * latex_columns: bool, + * latex_relation: bool, + * latex_comments: bool, + * latex_mime: bool, + * latex_null: string, + * latex_caption: bool, + * latex_structure_caption: string, + * latex_structure_continued_caption: string, + * latex_data_caption: string, + * latex_data_continued_caption: string, + * latex_data_label: string, + * latex_structure_label: string, + * mediawiki_structure_or_data: 'data'|'structure'|'structure_and_data', + * mediawiki_caption: bool, + * mediawiki_headers: bool, + * ods_structure_or_data: 'data'|'structure'|'structure_and_data', + * pdf_structure_or_data: 'data'|'structure'|'structure_and_data', + * phparray_structure_or_data: 'data'|'structure'|'structure_and_data', + * json_structure_or_data: 'data'|'structure'|'structure_and_data', + * json_pretty_print: bool, + * json_unicode: bool, + * sql_structure_or_data: 'data'|'structure'|'structure_and_data', + * sql_compatibility: string, + * sql_include_comments: bool, + * sql_disable_fk: bool, + * sql_views_as_tables: bool, + * sql_metadata: bool, + * sql_use_transaction: bool, + * sql_create_database: bool, + * sql_drop_database: bool, + * sql_drop_table: bool, + * sql_if_not_exists: bool, + * sql_view_current_user: bool, + * sql_or_replace_view: bool, + * sql_procedure_function: bool, + * sql_create_table: bool, + * sql_create_view: bool, + * sql_create_trigger: bool, + * sql_auto_increment: bool, + * sql_backquotes: bool, + * sql_dates: bool, + * sql_relation: bool, + * sql_truncate: bool, + * sql_delayed: bool, + * sql_ignore: bool, + * sql_utc_time: bool, + * sql_hex_for_binary: bool, + * sql_type: 'INSERT'|'REPLACE'|'UPDATE', + * sql_max_query_size: int<0, max>, + * sql_mime: bool, + * sql_header_comment: string, + * sql_insert_syntax: string, + * pdf_report_title: string, + * xml_structure_or_data: 'data'|'structure'|'structure_and_data', + * xml_export_struc: bool, + * xml_export_events: bool, + * xml_export_functions: bool, + * xml_export_procedures: bool, + * xml_export_tables: bool, + * xml_export_triggers: bool, + * xml_export_views: bool, + * xml_export_contents: bool, + * yaml_structure_or_data: 'data'|'structure'|'structure_and_data', + * remove_definer_from_definitions: bool, + * } */ final class Export { @@ -992,7 +1103,7 @@ final class Export $this->remove_definer_from_definitions = $this->setRemoveDefinerClause($export); } - /** @return array */ + /** @psalm-return ExportSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Import.php b/libraries/classes/Config/Settings/Import.php index 38cb7e7470..02a7dbcecb 100644 --- a/libraries/classes/Config/Settings/Import.php +++ b/libraries/classes/Config/Settings/Import.php @@ -14,6 +14,35 @@ use function in_array; * @link https://docs.phpmyadmin.net/en/latest/config.html#cfg_Import * * @psalm-immutable + * @psalm-type ImportSettingsType = array{ + * format: string, + * charset: string, + * allow_interrupt: bool, + * skip_queries: int<0, max>, + * sql_compatibility: string, + * sql_no_auto_value_on_zero: bool, + * sql_read_as_multibytes: bool, + * csv_replace: bool, + * csv_ignore: bool, + * csv_terminated: string, + * csv_enclosed: string, + * csv_escaped: string, + * csv_new_line: string, + * csv_columns: string, + * csv_col_names: bool, + * ldi_replace: bool, + * ldi_ignore: bool, + * ldi_terminated: string, + * ldi_enclosed: string, + * ldi_escaped: string, + * ldi_new_line: string, + * ldi_columns: string, + * ldi_local_option: 'auto'|bool, + * ods_col_names: bool, + * ods_empty_rows: bool, + * ods_recognize_percentages: bool, + * ods_recognize_currency: bool, + * } */ final class Import { @@ -252,7 +281,7 @@ final class Import $this->ods_recognize_currency = $this->setOdsRecognizeCurrency($import); } - /** @return array */ + /** @psalm-return ImportSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Schema.php b/libraries/classes/Config/Settings/Schema.php index 777c006820..879fd69627 100644 --- a/libraries/classes/Config/Settings/Schema.php +++ b/libraries/classes/Config/Settings/Schema.php @@ -12,6 +12,27 @@ use function in_array; * Schema export defaults * * @psalm-immutable + * @psalm-type SchemaSettingsType = array{ + * format: string, + * pdf_show_color: bool, + * pdf_show_keys: bool, + * pdf_all_tables_same_width: bool, + * pdf_orientation: 'L'|'P', + * pdf_paper: string, + * pdf_show_grid: bool, + * pdf_with_doc: bool, + * pdf_table_order: ''|'name_asc'|'name_desc', + * dia_show_color: bool, dia_show_keys: bool, + * dia_orientation: 'L'|'P', + * dia_paper: string, + * eps_show_color: bool, + * eps_show_keys: bool, + * eps_all_tables_same_width: bool, + * eps_orientation: 'L'|'P', + * svg_show_color: bool, + * svg_show_keys: bool, + * svg_all_tables_same_width: bool, + * } */ final class Schema { @@ -190,7 +211,7 @@ final class Schema $this->svg_all_tables_same_width = $this->setSvgAllTablesSameWidth($schema); } - /** @return array */ + /** @psalm-return SchemaSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Server.php b/libraries/classes/Config/Settings/Server.php index 511ddea84a..847bc12f18 100644 --- a/libraries/classes/Config/Settings/Server.php +++ b/libraries/classes/Config/Settings/Server.php @@ -9,7 +9,87 @@ use function in_array; use function is_array; use function strval; -/** @psalm-immutable */ +/** + * @psalm-immutable + * @psalm-type ServerSettingsType = array{ + * host: string, + * port: string, + * socket: string, + * ssl: bool, + * ssl_key: string|null, + * ssl_cert: string|null, + * ssl_ca: string|null, + * ssl_ca_path: string|null, + * ssl_ciphers: string|null, + * ssl_verify: bool, + * compress: bool, + * controlhost: string, + * controlport: string, + * controluser: string, + * controlpass: string, + * control_socket: string|null, + * control_ssl: bool|null, + * control_ssl_key: string|null, + * control_ssl_cert: string|null, + * control_ssl_ca: string|null, + * control_ssl_ca_path: string|null, + * control_ssl_ciphers: string|null, + * control_ssl_verify: bool|null, + * control_compress: bool|null, + * control_hide_connection_errors: bool|null, + * auth_type: non-empty-string, + * auth_http_realm: string, + * user: string, + * password: string, + * SignonSession: string, + * SignonCookieParams: array{ + * lifetime: int<0, max>, + * path: string, + * domain: string, + * secure: bool, + * httponly: bool, + * samesite?: 'Lax'|'Strict', + * }, + * SignonScript: string, + * SignonURL: string, + * LogoutURL: string, + * only_db: string|string[], + * hide_db: string, + * verbose: string, + * pmadb: string, + * bookmarktable: string|false, + * relation: string|false, + * table_info: string|false, + * table_coords: string|false, + * pdf_pages: string|false, + * column_info: string|false, + * history: string|false, + * recent: string|false, + * favorite: string|false, + * table_uiprefs: string|false, + * tracking: string|false, + * userconfig: string|false, + * users: string|false, + * usergroups: string|false, + * navigationhiding: string|false, + * savedsearches: string|false, + * central_columns: string|false, + * designer_settings: string|false, + * export_templates: string|false, + * MaxTableUiprefs: int<1, max>, + * SessionTimeZone: string, + * AllowRoot: bool, + * AllowNoPassword: bool, + * AllowDeny: array{order: ''|'deny,allow'|'allow,deny'|'explicit', rules: string[]}, + * DisableIS: bool, + * tracking_version_auto_create: bool, + * tracking_default_statements: string, + * tracking_add_drop_view: bool, + * tracking_add_drop_table: bool, + * tracking_add_drop_database: bool, + * hide_connection_errors: bool, + * } + */ final class Server { /** @@ -887,86 +967,7 @@ final class Server $this->hideConnectionErrors = $this->setHideConnectionErrors($server); } - /** - * @psalm-return array{ - * host: string, - * port: string, - * socket: string, - * ssl: bool, - * ssl_key: string|null, - * ssl_cert: string|null, - * ssl_ca: string|null, - * ssl_ca_path: string|null, - * ssl_ciphers: string|null, - * ssl_verify: bool, - * compress: bool, - * controlhost: string, - * controlport: string, - * controluser: string, - * controlpass: string, - * control_socket: string|null, - * control_ssl: bool|null, - * control_ssl_key: string|null, - * control_ssl_cert: string|null, - * control_ssl_ca: string|null, - * control_ssl_ca_path: string|null, - * control_ssl_ciphers: string|null, - * control_ssl_verify: bool|null, - * control_compress: bool|null, - * control_hide_connection_errors: bool|null, - * auth_type: non-empty-string, - * auth_http_realm: string, - * user: string, - * password: string, - * SignonSession: string, - * SignonCookieParams: array{ - * lifetime: int<0, max>, - * path: string, - * domain: string, - * secure: bool, - * httponly: bool, - * samesite?: 'Lax'|'Strict', - * }, - * SignonScript: string, - * SignonURL: string, - * LogoutURL: string, - * only_db: string|string[], - * hide_db: string, - * verbose: string, - * pmadb: string, - * bookmarktable: string|false, - * relation: string|false, - * table_info: string|false, - * table_coords: string|false, - * pdf_pages: string|false, - * column_info: string|false, - * history: string|false, - * recent: string|false, - * favorite: string|false, - * table_uiprefs: string|false, - * tracking: string|false, - * userconfig: string|false, - * users: string|false, - * usergroups: string|false, - * navigationhiding: string|false, - * savedsearches: string|false, - * central_columns: string|false, - * designer_settings: string|false, - * export_templates: string|false, - * MaxTableUiprefs: int<1, max>, - * SessionTimeZone: string, - * AllowRoot: bool, - * AllowNoPassword: bool, - * AllowDeny: array{order: ''|'deny,allow'|'allow,deny'|'explicit', rules: string[]}, - * DisableIS: bool, - * tracking_version_auto_create: bool, - * tracking_default_statements: string, - * tracking_add_drop_view: bool, - * tracking_add_drop_table: bool, - * tracking_add_drop_database: bool, - * hide_connection_errors: bool, - * } - */ + /** @psalm-return ServerSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/SqlQueryBox.php b/libraries/classes/Config/Settings/SqlQueryBox.php index ac2f3e1505..d639de61f8 100644 --- a/libraries/classes/Config/Settings/SqlQueryBox.php +++ b/libraries/classes/Config/Settings/SqlQueryBox.php @@ -12,6 +12,7 @@ namespace PhpMyAdmin\Config\Settings; * @link https://docs.phpmyadmin.net/en/latest/config.html#sql-query-box-settings * * @psalm-immutable + * @psalm-type SqlQueryBoxSettingsType = array{Edit: bool, Explain: bool, ShowAsPHP: bool, Refresh: bool} */ final class SqlQueryBox { @@ -68,7 +69,7 @@ final class SqlQueryBox $this->Refresh = $this->setRefresh($sqlQueryBox); } - /** @return array */ + /** @psalm-return SqlQueryBoxSettingsType */ public function asArray(): array { return [ diff --git a/libraries/classes/Config/Settings/Transformations.php b/libraries/classes/Config/Settings/Transformations.php index 3616d0c2ed..8d53bf130c 100644 --- a/libraries/classes/Config/Settings/Transformations.php +++ b/libraries/classes/Config/Settings/Transformations.php @@ -14,6 +14,17 @@ use function is_array; * @link https://docs.phpmyadmin.net/en/latest/config.html#default-options-for-transformations * * @psalm-immutable + * @psalm-type TransformationsSettingsType = array{ + * Substring: array{0: int, 1: 'all'|int, 2: string}, + * Bool2Text: array{0: string, 1: string}, + * External: array{0: int, 1: string, 2: int, 3: int}, + * PreApPend: array{0: string, 1: string}, + * Hex: array{0: int<0, max>}, + * DateFormat: array{0: int<0, max>, 1: string, 2: 'local'|'utc'}, + * Inline: array{0: int<0, max>, 1: int<0, max>, wrapper_link: string|null, wrapper_params: array}, + * TextImageLink: array{0: string|null, 1: int<0, max>, 2: int<0, max>}, + * TextLink: array{0: string|null, 1: string|null, 2: bool|null}, + * } */ final class Transformations { @@ -188,7 +199,7 @@ final class Transformations $this->TextLink = $this->setTextLink($transformations); } - /** @return array */ + /** @psalm-return TransformationsSettingsType */ public function asArray(): array { return [ diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index d76501ab6e..a145529f26 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -475,6 +475,16 @@ parameters: count: 1 path: libraries/classes/Config.php + - + message: "#^Property PhpMyAdmin\\\\Config\\:\\:\\$settings \\(array\\{PmaAbsoluteUri\\: string, AuthLog\\: string, AuthLogSuccess\\: bool, PmaNoRelation_DisableWarning\\: bool, SuhosinDisableWarning\\: bool, LoginCookieValidityDisableWarning\\: bool, ReservedWordDisableWarning\\: bool, TranslationWarningThreshold\\: int, \\.\\.\\.\\}\\) does not accept array\\.$#" + count: 2 + path: libraries/classes/Config.php + + - + message: "#^Property PhpMyAdmin\\\\Config\\:\\:\\$settings \\(array\\{PmaAbsoluteUri\\: string, AuthLog\\: string, AuthLogSuccess\\: bool, PmaNoRelation_DisableWarning\\: bool, SuhosinDisableWarning\\: bool, LoginCookieValidityDisableWarning\\: bool, ReservedWordDisableWarning\\: bool, TranslationWarningThreshold\\: int, \\.\\.\\.\\}\\) does not accept non\\-empty\\-array\\\\.$#" + count: 1 + path: libraries/classes/Config.php + - message: "#^Cannot access offset 'AvailableCharsets' on mixed\\.$#" count: 2 @@ -5815,11 +5825,6 @@ parameters: count: 7 path: libraries/classes/Controllers/Table/AddFieldController.php - - - message: "#^Only booleans are allowed in &&, mixed given on the right side\\.$#" - count: 1 - path: libraries/classes/Controllers/Table/AddFieldController.php - - message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Transformations\\:\\:setMime\\(\\) expects string, mixed given\\.$#" count: 1 @@ -5840,11 +5845,6 @@ parameters: count: 1 path: libraries/classes/Controllers/Table/AddFieldController.php - - - message: "#^Parameter \\#1 \\$target of static method PhpMyAdmin\\\\Util\\:\\:getScriptNameForOption\\(\\) expects string, mixed given\\.$#" - count: 1 - path: libraries/classes/Controllers/Table/AddFieldController.php - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" count: 2 @@ -6210,11 +6210,6 @@ parameters: count: 7 path: libraries/classes/Controllers/Table/CreateController.php - - - message: "#^Only booleans are allowed in &&, mixed given on the right side\\.$#" - count: 1 - path: libraries/classes/Controllers/Table/CreateController.php - - message: "#^Only booleans are allowed in an if condition, PhpMyAdmin\\\\Dbal\\\\ResultInterface\\|false given\\.$#" count: 1 @@ -22781,7 +22776,7 @@ parameters: path: test/classes/Config/ConfigFileTest.php - - message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + message: "#^Argument of an invalid type array\\\\|bool\\|int\\<0, max\\>\\|string\\>\\|bool\\|int\\|string\\|null supplied for foreach, only iterables are supported\\.$#" count: 1 path: test/classes/Config/DescriptionTest.php @@ -22790,6 +22785,11 @@ parameters: count: 1 path: test/classes/Config/DescriptionTest.php + - + message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertNotNull\\(\\) with array\\\\|bool\\|int\\<0, max\\>\\|string will always evaluate to true\\.$#" + count: 1 + path: test/classes/Config/DescriptionTest.php + - message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertNotNull\\(\\) with string will always evaluate to true\\.$#" count: 3 @@ -22990,6 +22990,16 @@ parameters: count: 6 path: test/classes/ConfigStorage/RelationTest.php + - + message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertArrayHasKey\\(\\) with 'Server' and array\\{PmaAbsoluteUri\\: string, AuthLog\\: string, AuthLogSuccess\\: bool, PmaNoRelation_DisableWarning\\: bool, SuhosinDisableWarning\\: bool, LoginCookieValidityDisableWarning\\: bool, ReservedWordDisableWarning\\: bool, TranslationWarningThreshold\\: int, \\.\\.\\.\\} will always evaluate to false\\.$#" + count: 1 + path: test/classes/ConfigTest.php + + - + message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertIsArray\\(\\) with array\\, array\\{host\\: string, port\\: string, socket\\: string, ssl\\: bool, ssl_key\\: string\\|null, ssl_cert\\: string\\|null, ssl_ca\\: string\\|null, ssl_ca_path\\: string\\|null, \\.\\.\\.\\}\\> will always evaluate to true\\.$#" + count: 1 + path: test/classes/ConfigTest.php + - message: "#^Cannot access offset 'NavigationWidth' on mixed\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 1fa01e004b..eed6ef348a 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -202,6 +202,12 @@ DatabaseInterface::getInstance() DatabaseInterface::getInstance() + + settings]]> + settings]]> + settings]]> + settings]]> + $collationConnection $configData @@ -245,12 +251,20 @@ $url $value + + settings]]> + settings, $configData)]]> + settings, $this->config->asArray())]]> + $defaultValue getCookieName($cookieName)]]]> + + settings]]> + md5($verboseToLower) === $serverToLower @@ -3069,7 +3083,6 @@ - @@ -12900,12 +12913,14 @@ $second - $val $val2 $second + + $val + getValues @@ -13287,6 +13302,8 @@ + settings['Server']]]> + settings['Server']]]> $v @@ -13303,6 +13320,9 @@ selectServerProvider userAgentProvider + + assertIsArray + @@ -14412,15 +14432,15 @@ + + selectedServer)]]> + selectedServer]]> selectedServer]]> selectedServer]]> [] - - selectedServer)]]> - diff --git a/psalm.xml b/psalm.xml index 27b395a4a0..279ac1908f 100644 --- a/psalm.xml +++ b/psalm.xml @@ -7,6 +7,7 @@ resolveFromConfigFile="true" findUnusedBaselineEntry="true" findUnusedCode="true" + maxShapedArraySize="200" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" diff --git a/test/classes/Config/Settings/ConsoleTest.php b/test/classes/Config/Settings/ConsoleTest.php index 153e018cf4..5a608e212d 100644 --- a/test/classes/Config/Settings/ConsoleTest.php +++ b/test/classes/Config/Settings/ConsoleTest.php @@ -19,7 +19,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->StartHistory); - $this->assertArrayHasKey('StartHistory', $consoleArray); $this->assertSame($expected, $consoleArray['StartHistory']); } @@ -39,7 +38,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->AlwaysExpand); - $this->assertArrayHasKey('AlwaysExpand', $consoleArray); $this->assertSame($expected, $consoleArray['AlwaysExpand']); } @@ -50,7 +48,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->CurrentQuery); - $this->assertArrayHasKey('CurrentQuery', $consoleArray); $this->assertSame($expected, $consoleArray['CurrentQuery']); } @@ -70,7 +67,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->EnterExecutes); - $this->assertArrayHasKey('EnterExecutes', $consoleArray); $this->assertSame($expected, $consoleArray['EnterExecutes']); } @@ -81,7 +77,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->DarkTheme); - $this->assertArrayHasKey('DarkTheme', $consoleArray); $this->assertSame($expected, $consoleArray['DarkTheme']); } @@ -92,7 +87,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->Mode); - $this->assertArrayHasKey('Mode', $consoleArray); $this->assertSame($expected, $consoleArray['Mode']); } @@ -113,7 +107,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->Height); - $this->assertArrayHasKey('Height', $consoleArray); $this->assertSame($expected, $consoleArray['Height']); } @@ -133,7 +126,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->GroupQueries); - $this->assertArrayHasKey('GroupQueries', $consoleArray); $this->assertSame($expected, $consoleArray['GroupQueries']); } @@ -144,7 +136,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->OrderBy); - $this->assertArrayHasKey('OrderBy', $consoleArray); $this->assertSame($expected, $consoleArray['OrderBy']); } @@ -165,7 +156,6 @@ class ConsoleTest extends TestCase $consoleArray = $console->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $console->Order); - $this->assertArrayHasKey('Order', $consoleArray); $this->assertSame($expected, $consoleArray['Order']); } diff --git a/test/classes/Config/Settings/DebugTest.php b/test/classes/Config/Settings/DebugTest.php index d3423c2ddd..0a871bcc97 100644 --- a/test/classes/Config/Settings/DebugTest.php +++ b/test/classes/Config/Settings/DebugTest.php @@ -18,7 +18,6 @@ class DebugTest extends TestCase $debug = new Debug(['sql' => $actual]); $debugArray = $debug->asArray(); $this->assertSame($expected, $debug->sql); - $this->assertArrayHasKey('sql', $debugArray); $this->assertSame($expected, $debugArray['sql']); } @@ -28,7 +27,6 @@ class DebugTest extends TestCase $debug = new Debug(['sqllog' => $actual]); $debugArray = $debug->asArray(); $this->assertSame($expected, $debug->sqllog); - $this->assertArrayHasKey('sqllog', $debugArray); $this->assertSame($expected, $debugArray['sqllog']); } @@ -38,7 +36,6 @@ class DebugTest extends TestCase $debug = new Debug(['demo' => $actual]); $debugArray = $debug->asArray(); $this->assertSame($expected, $debug->demo); - $this->assertArrayHasKey('demo', $debugArray); $this->assertSame($expected, $debugArray['demo']); } @@ -48,7 +45,6 @@ class DebugTest extends TestCase $debug = new Debug(['simple2fa' => $actual]); $debugArray = $debug->asArray(); $this->assertSame($expected, $debug->simple2fa); - $this->assertArrayHasKey('simple2fa', $debugArray); $this->assertSame($expected, $debugArray['simple2fa']); } diff --git a/test/classes/Config/Settings/ExportTest.php b/test/classes/Config/Settings/ExportTest.php index 46c7858846..880f575f75 100644 --- a/test/classes/Config/Settings/ExportTest.php +++ b/test/classes/Config/Settings/ExportTest.php @@ -19,7 +19,6 @@ class ExportTest extends TestCase $export = new Export(['format' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->format); - $this->assertArrayHasKey('format', $exportArray); $this->assertSame($expected, $exportArray['format']); } @@ -49,7 +48,6 @@ class ExportTest extends TestCase $export = new Export(['method' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->method); - $this->assertArrayHasKey('method', $exportArray); $this->assertSame($expected, $exportArray['method']); } @@ -69,7 +67,6 @@ class ExportTest extends TestCase $export = new Export(['compression' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->compression); - $this->assertArrayHasKey('compression', $exportArray); $this->assertSame($expected, $exportArray['compression']); } @@ -89,7 +86,6 @@ class ExportTest extends TestCase $export = new Export(['lock_tables' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->lock_tables); - $this->assertArrayHasKey('lock_tables', $exportArray); $this->assertSame($expected, $exportArray['lock_tables']); } @@ -108,7 +104,6 @@ class ExportTest extends TestCase $export = new Export(['as_separate_files' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->as_separate_files); - $this->assertArrayHasKey('as_separate_files', $exportArray); $this->assertSame($expected, $exportArray['as_separate_files']); } @@ -118,7 +113,6 @@ class ExportTest extends TestCase $export = new Export(['asfile' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->asfile); - $this->assertArrayHasKey('asfile', $exportArray); $this->assertSame($expected, $exportArray['asfile']); } @@ -137,7 +131,6 @@ class ExportTest extends TestCase $export = new Export(['charset' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->charset); - $this->assertArrayHasKey('charset', $exportArray); $this->assertSame($expected, $exportArray['charset']); } @@ -156,7 +149,6 @@ class ExportTest extends TestCase $export = new Export(['onserver' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->onserver); - $this->assertArrayHasKey('onserver', $exportArray); $this->assertSame($expected, $exportArray['onserver']); } @@ -166,7 +158,6 @@ class ExportTest extends TestCase $export = new Export(['onserver_overwrite' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->onserver_overwrite); - $this->assertArrayHasKey('onserver_overwrite', $exportArray); $this->assertSame($expected, $exportArray['onserver_overwrite']); } @@ -176,7 +167,6 @@ class ExportTest extends TestCase $export = new Export(['quick_export_onserver' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->quick_export_onserver); - $this->assertArrayHasKey('quick_export_onserver', $exportArray); $this->assertSame($expected, $exportArray['quick_export_onserver']); } @@ -186,7 +176,6 @@ class ExportTest extends TestCase $export = new Export(['quick_export_onserver_overwrite' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->quick_export_onserver_overwrite); - $this->assertArrayHasKey('quick_export_onserver_overwrite', $exportArray); $this->assertSame($expected, $exportArray['quick_export_onserver_overwrite']); } @@ -196,7 +185,6 @@ class ExportTest extends TestCase $export = new Export(['remember_file_template' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->remember_file_template); - $this->assertArrayHasKey('remember_file_template', $exportArray); $this->assertSame($expected, $exportArray['remember_file_template']); } @@ -206,7 +194,6 @@ class ExportTest extends TestCase $export = new Export(['file_template_table' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->file_template_table); - $this->assertArrayHasKey('file_template_table', $exportArray); $this->assertSame($expected, $exportArray['file_template_table']); } @@ -225,7 +212,6 @@ class ExportTest extends TestCase $export = new Export(['file_template_database' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->file_template_database); - $this->assertArrayHasKey('file_template_database', $exportArray); $this->assertSame($expected, $exportArray['file_template_database']); } @@ -244,7 +230,6 @@ class ExportTest extends TestCase $export = new Export(['file_template_server' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->file_template_server); - $this->assertArrayHasKey('file_template_server', $exportArray); $this->assertSame($expected, $exportArray['file_template_server']); } @@ -263,7 +248,6 @@ class ExportTest extends TestCase $export = new Export(['codegen_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->codegen_structure_or_data); - $this->assertArrayHasKey('codegen_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['codegen_structure_or_data']); } @@ -283,7 +267,6 @@ class ExportTest extends TestCase $export = new Export(['codegen_format' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->codegen_format); - $this->assertArrayHasKey('codegen_format', $exportArray); $this->assertSame($expected, $exportArray['codegen_format']); } @@ -304,7 +287,6 @@ class ExportTest extends TestCase $export = new Export(['ods_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->ods_columns); - $this->assertArrayHasKey('ods_columns', $exportArray); $this->assertSame($expected, $exportArray['ods_columns']); } @@ -314,7 +296,6 @@ class ExportTest extends TestCase $export = new Export(['ods_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->ods_null); - $this->assertArrayHasKey('ods_null', $exportArray); $this->assertSame($expected, $exportArray['ods_null']); } @@ -333,7 +314,6 @@ class ExportTest extends TestCase $export = new Export(['odt_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_structure_or_data); - $this->assertArrayHasKey('odt_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['odt_structure_or_data']); } @@ -353,7 +333,6 @@ class ExportTest extends TestCase $export = new Export(['odt_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_columns); - $this->assertArrayHasKey('odt_columns', $exportArray); $this->assertSame($expected, $exportArray['odt_columns']); } @@ -363,7 +342,6 @@ class ExportTest extends TestCase $export = new Export(['odt_relation' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_relation); - $this->assertArrayHasKey('odt_relation', $exportArray); $this->assertSame($expected, $exportArray['odt_relation']); } @@ -373,7 +351,6 @@ class ExportTest extends TestCase $export = new Export(['odt_comments' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_comments); - $this->assertArrayHasKey('odt_comments', $exportArray); $this->assertSame($expected, $exportArray['odt_comments']); } @@ -383,7 +360,6 @@ class ExportTest extends TestCase $export = new Export(['odt_mime' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_mime); - $this->assertArrayHasKey('odt_mime', $exportArray); $this->assertSame($expected, $exportArray['odt_mime']); } @@ -393,7 +369,6 @@ class ExportTest extends TestCase $export = new Export(['odt_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->odt_null); - $this->assertArrayHasKey('odt_null', $exportArray); $this->assertSame($expected, $exportArray['odt_null']); } @@ -412,7 +387,6 @@ class ExportTest extends TestCase $export = new Export(['htmlword_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->htmlword_structure_or_data); - $this->assertArrayHasKey('htmlword_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['htmlword_structure_or_data']); } @@ -422,7 +396,6 @@ class ExportTest extends TestCase $export = new Export(['htmlword_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->htmlword_columns); - $this->assertArrayHasKey('htmlword_columns', $exportArray); $this->assertSame($expected, $exportArray['htmlword_columns']); } @@ -432,7 +405,6 @@ class ExportTest extends TestCase $export = new Export(['htmlword_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->htmlword_null); - $this->assertArrayHasKey('htmlword_null', $exportArray); $this->assertSame($expected, $exportArray['htmlword_null']); } @@ -451,7 +423,6 @@ class ExportTest extends TestCase $export = new Export(['texytext_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->texytext_structure_or_data); - $this->assertArrayHasKey('texytext_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['texytext_structure_or_data']); } @@ -461,7 +432,6 @@ class ExportTest extends TestCase $export = new Export(['texytext_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->texytext_columns); - $this->assertArrayHasKey('texytext_columns', $exportArray); $this->assertSame($expected, $exportArray['texytext_columns']); } @@ -471,7 +441,6 @@ class ExportTest extends TestCase $export = new Export(['texytext_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->texytext_null); - $this->assertArrayHasKey('texytext_null', $exportArray); $this->assertSame($expected, $exportArray['texytext_null']); } @@ -490,7 +459,6 @@ class ExportTest extends TestCase $export = new Export(['csv_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_columns); - $this->assertArrayHasKey('csv_columns', $exportArray); $this->assertSame($expected, $exportArray['csv_columns']); } @@ -500,7 +468,6 @@ class ExportTest extends TestCase $export = new Export(['csv_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_structure_or_data); - $this->assertArrayHasKey('csv_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['csv_structure_or_data']); } @@ -510,7 +477,6 @@ class ExportTest extends TestCase $export = new Export(['csv_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_null); - $this->assertArrayHasKey('csv_null', $exportArray); $this->assertSame($expected, $exportArray['csv_null']); } @@ -529,7 +495,6 @@ class ExportTest extends TestCase $export = new Export(['csv_separator' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_separator); - $this->assertArrayHasKey('csv_separator', $exportArray); $this->assertSame($expected, $exportArray['csv_separator']); } @@ -548,7 +513,6 @@ class ExportTest extends TestCase $export = new Export(['csv_enclosed' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_enclosed); - $this->assertArrayHasKey('csv_enclosed', $exportArray); $this->assertSame($expected, $exportArray['csv_enclosed']); } @@ -567,7 +531,6 @@ class ExportTest extends TestCase $export = new Export(['csv_escaped' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_escaped); - $this->assertArrayHasKey('csv_escaped', $exportArray); $this->assertSame($expected, $exportArray['csv_escaped']); } @@ -586,7 +549,6 @@ class ExportTest extends TestCase $export = new Export(['csv_terminated' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_terminated); - $this->assertArrayHasKey('csv_terminated', $exportArray); $this->assertSame($expected, $exportArray['csv_terminated']); } @@ -605,7 +567,6 @@ class ExportTest extends TestCase $export = new Export(['csv_removeCRLF' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->csv_removeCRLF); - $this->assertArrayHasKey('csv_removeCRLF', $exportArray); $this->assertSame($expected, $exportArray['csv_removeCRLF']); } @@ -615,7 +576,6 @@ class ExportTest extends TestCase $export = new Export(['excel_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->excel_columns); - $this->assertArrayHasKey('excel_columns', $exportArray); $this->assertSame($expected, $exportArray['excel_columns']); } @@ -625,7 +585,6 @@ class ExportTest extends TestCase $export = new Export(['excel_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->excel_null); - $this->assertArrayHasKey('excel_null', $exportArray); $this->assertSame($expected, $exportArray['excel_null']); } @@ -644,7 +603,6 @@ class ExportTest extends TestCase $export = new Export(['excel_edition' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->excel_edition); - $this->assertArrayHasKey('excel_edition', $exportArray); $this->assertSame($expected, $exportArray['excel_edition']); } @@ -664,7 +622,6 @@ class ExportTest extends TestCase $export = new Export(['excel_removeCRLF' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->excel_removeCRLF); - $this->assertArrayHasKey('excel_removeCRLF', $exportArray); $this->assertSame($expected, $exportArray['excel_removeCRLF']); } @@ -674,7 +631,6 @@ class ExportTest extends TestCase $export = new Export(['excel_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->excel_structure_or_data); - $this->assertArrayHasKey('excel_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['excel_structure_or_data']); } @@ -684,7 +640,6 @@ class ExportTest extends TestCase $export = new Export(['latex_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_structure_or_data); - $this->assertArrayHasKey('latex_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['latex_structure_or_data']); } @@ -694,7 +649,6 @@ class ExportTest extends TestCase $export = new Export(['latex_columns' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_columns); - $this->assertArrayHasKey('latex_columns', $exportArray); $this->assertSame($expected, $exportArray['latex_columns']); } @@ -704,7 +658,6 @@ class ExportTest extends TestCase $export = new Export(['latex_relation' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_relation); - $this->assertArrayHasKey('latex_relation', $exportArray); $this->assertSame($expected, $exportArray['latex_relation']); } @@ -714,7 +667,6 @@ class ExportTest extends TestCase $export = new Export(['latex_comments' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_comments); - $this->assertArrayHasKey('latex_comments', $exportArray); $this->assertSame($expected, $exportArray['latex_comments']); } @@ -724,7 +676,6 @@ class ExportTest extends TestCase $export = new Export(['latex_mime' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_mime); - $this->assertArrayHasKey('latex_mime', $exportArray); $this->assertSame($expected, $exportArray['latex_mime']); } @@ -734,7 +685,6 @@ class ExportTest extends TestCase $export = new Export(['latex_null' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_null); - $this->assertArrayHasKey('latex_null', $exportArray); $this->assertSame($expected, $exportArray['latex_null']); } @@ -753,7 +703,6 @@ class ExportTest extends TestCase $export = new Export(['latex_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_caption); - $this->assertArrayHasKey('latex_caption', $exportArray); $this->assertSame($expected, $exportArray['latex_caption']); } @@ -763,7 +712,6 @@ class ExportTest extends TestCase $export = new Export(['latex_structure_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_structure_caption); - $this->assertArrayHasKey('latex_structure_caption', $exportArray); $this->assertSame($expected, $exportArray['latex_structure_caption']); } @@ -782,7 +730,6 @@ class ExportTest extends TestCase $export = new Export(['latex_structure_continued_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_structure_continued_caption); - $this->assertArrayHasKey('latex_structure_continued_caption', $exportArray); $this->assertSame($expected, $exportArray['latex_structure_continued_caption']); } @@ -801,7 +748,6 @@ class ExportTest extends TestCase $export = new Export(['latex_data_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_data_caption); - $this->assertArrayHasKey('latex_data_caption', $exportArray); $this->assertSame($expected, $exportArray['latex_data_caption']); } @@ -820,7 +766,6 @@ class ExportTest extends TestCase $export = new Export(['latex_data_continued_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_data_continued_caption); - $this->assertArrayHasKey('latex_data_continued_caption', $exportArray); $this->assertSame($expected, $exportArray['latex_data_continued_caption']); } @@ -839,7 +784,6 @@ class ExportTest extends TestCase $export = new Export(['latex_data_label' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_data_label); - $this->assertArrayHasKey('latex_data_label', $exportArray); $this->assertSame($expected, $exportArray['latex_data_label']); } @@ -858,7 +802,6 @@ class ExportTest extends TestCase $export = new Export(['latex_structure_label' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->latex_structure_label); - $this->assertArrayHasKey('latex_structure_label', $exportArray); $this->assertSame($expected, $exportArray['latex_structure_label']); } @@ -877,7 +820,6 @@ class ExportTest extends TestCase $export = new Export(['mediawiki_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->mediawiki_structure_or_data); - $this->assertArrayHasKey('mediawiki_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['mediawiki_structure_or_data']); } @@ -887,7 +829,6 @@ class ExportTest extends TestCase $export = new Export(['mediawiki_caption' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->mediawiki_caption); - $this->assertArrayHasKey('mediawiki_caption', $exportArray); $this->assertSame($expected, $exportArray['mediawiki_caption']); } @@ -897,7 +838,6 @@ class ExportTest extends TestCase $export = new Export(['mediawiki_headers' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->mediawiki_headers); - $this->assertArrayHasKey('mediawiki_headers', $exportArray); $this->assertSame($expected, $exportArray['mediawiki_headers']); } @@ -907,7 +847,6 @@ class ExportTest extends TestCase $export = new Export(['ods_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->ods_structure_or_data); - $this->assertArrayHasKey('ods_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['ods_structure_or_data']); } @@ -917,7 +856,6 @@ class ExportTest extends TestCase $export = new Export(['pdf_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->pdf_structure_or_data); - $this->assertArrayHasKey('pdf_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['pdf_structure_or_data']); } @@ -927,7 +865,6 @@ class ExportTest extends TestCase $export = new Export(['phparray_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->phparray_structure_or_data); - $this->assertArrayHasKey('phparray_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['phparray_structure_or_data']); } @@ -937,7 +874,6 @@ class ExportTest extends TestCase $export = new Export(['json_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->json_structure_or_data); - $this->assertArrayHasKey('json_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['json_structure_or_data']); } @@ -947,7 +883,6 @@ class ExportTest extends TestCase $export = new Export(['json_pretty_print' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->json_pretty_print); - $this->assertArrayHasKey('json_pretty_print', $exportArray); $this->assertSame($expected, $exportArray['json_pretty_print']); } @@ -957,7 +892,6 @@ class ExportTest extends TestCase $export = new Export(['json_unicode' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->json_unicode); - $this->assertArrayHasKey('json_unicode', $exportArray); $this->assertSame($expected, $exportArray['json_unicode']); } @@ -967,7 +901,6 @@ class ExportTest extends TestCase $export = new Export(['sql_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_structure_or_data); - $this->assertArrayHasKey('sql_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['sql_structure_or_data']); } @@ -977,7 +910,6 @@ class ExportTest extends TestCase $export = new Export(['sql_compatibility' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_compatibility); - $this->assertArrayHasKey('sql_compatibility', $exportArray); $this->assertSame($expected, $exportArray['sql_compatibility']); } @@ -1004,7 +936,6 @@ class ExportTest extends TestCase $export = new Export(['sql_include_comments' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_include_comments); - $this->assertArrayHasKey('sql_include_comments', $exportArray); $this->assertSame($expected, $exportArray['sql_include_comments']); } @@ -1014,7 +945,6 @@ class ExportTest extends TestCase $export = new Export(['sql_disable_fk' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_disable_fk); - $this->assertArrayHasKey('sql_disable_fk', $exportArray); $this->assertSame($expected, $exportArray['sql_disable_fk']); } @@ -1024,7 +954,6 @@ class ExportTest extends TestCase $export = new Export(['sql_views_as_tables' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_views_as_tables); - $this->assertArrayHasKey('sql_views_as_tables', $exportArray); $this->assertSame($expected, $exportArray['sql_views_as_tables']); } @@ -1034,7 +963,6 @@ class ExportTest extends TestCase $export = new Export(['sql_metadata' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_metadata); - $this->assertArrayHasKey('sql_metadata', $exportArray); $this->assertSame($expected, $exportArray['sql_metadata']); } @@ -1044,7 +972,6 @@ class ExportTest extends TestCase $export = new Export(['sql_use_transaction' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_use_transaction); - $this->assertArrayHasKey('sql_use_transaction', $exportArray); $this->assertSame($expected, $exportArray['sql_use_transaction']); } @@ -1054,7 +981,6 @@ class ExportTest extends TestCase $export = new Export(['sql_create_database' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_create_database); - $this->assertArrayHasKey('sql_create_database', $exportArray); $this->assertSame($expected, $exportArray['sql_create_database']); } @@ -1064,7 +990,6 @@ class ExportTest extends TestCase $export = new Export(['sql_drop_database' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_drop_database); - $this->assertArrayHasKey('sql_drop_database', $exportArray); $this->assertSame($expected, $exportArray['sql_drop_database']); } @@ -1074,7 +999,6 @@ class ExportTest extends TestCase $export = new Export(['sql_drop_table' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_drop_table); - $this->assertArrayHasKey('sql_drop_table', $exportArray); $this->assertSame($expected, $exportArray['sql_drop_table']); } @@ -1084,7 +1008,6 @@ class ExportTest extends TestCase $export = new Export(['sql_if_not_exists' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_if_not_exists); - $this->assertArrayHasKey('sql_if_not_exists', $exportArray); $this->assertSame($expected, $exportArray['sql_if_not_exists']); } @@ -1094,7 +1017,6 @@ class ExportTest extends TestCase $export = new Export(['sql_view_current_user' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_view_current_user); - $this->assertArrayHasKey('sql_view_current_user', $exportArray); $this->assertSame($expected, $exportArray['sql_view_current_user']); } @@ -1104,7 +1026,6 @@ class ExportTest extends TestCase $export = new Export(['sql_or_replace_view' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_or_replace_view); - $this->assertArrayHasKey('sql_or_replace_view', $exportArray); $this->assertSame($expected, $exportArray['sql_or_replace_view']); } @@ -1114,7 +1035,6 @@ class ExportTest extends TestCase $export = new Export(['sql_procedure_function' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_procedure_function); - $this->assertArrayHasKey('sql_procedure_function', $exportArray); $this->assertSame($expected, $exportArray['sql_procedure_function']); } @@ -1124,7 +1044,6 @@ class ExportTest extends TestCase $export = new Export(['sql_create_table' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_create_table); - $this->assertArrayHasKey('sql_create_table', $exportArray); $this->assertSame($expected, $exportArray['sql_create_table']); } @@ -1134,7 +1053,6 @@ class ExportTest extends TestCase $export = new Export(['sql_create_view' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_create_view); - $this->assertArrayHasKey('sql_create_view', $exportArray); $this->assertSame($expected, $exportArray['sql_create_view']); } @@ -1144,7 +1062,6 @@ class ExportTest extends TestCase $export = new Export(['sql_create_trigger' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_create_trigger); - $this->assertArrayHasKey('sql_create_trigger', $exportArray); $this->assertSame($expected, $exportArray['sql_create_trigger']); } @@ -1154,7 +1071,6 @@ class ExportTest extends TestCase $export = new Export(['sql_auto_increment' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_auto_increment); - $this->assertArrayHasKey('sql_auto_increment', $exportArray); $this->assertSame($expected, $exportArray['sql_auto_increment']); } @@ -1164,7 +1080,6 @@ class ExportTest extends TestCase $export = new Export(['sql_backquotes' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_backquotes); - $this->assertArrayHasKey('sql_backquotes', $exportArray); $this->assertSame($expected, $exportArray['sql_backquotes']); } @@ -1174,7 +1089,6 @@ class ExportTest extends TestCase $export = new Export(['sql_dates' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_dates); - $this->assertArrayHasKey('sql_dates', $exportArray); $this->assertSame($expected, $exportArray['sql_dates']); } @@ -1184,7 +1098,6 @@ class ExportTest extends TestCase $export = new Export(['sql_relation' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_relation); - $this->assertArrayHasKey('sql_relation', $exportArray); $this->assertSame($expected, $exportArray['sql_relation']); } @@ -1194,7 +1107,6 @@ class ExportTest extends TestCase $export = new Export(['sql_truncate' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_truncate); - $this->assertArrayHasKey('sql_truncate', $exportArray); $this->assertSame($expected, $exportArray['sql_truncate']); } @@ -1204,7 +1116,6 @@ class ExportTest extends TestCase $export = new Export(['sql_delayed' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_delayed); - $this->assertArrayHasKey('sql_delayed', $exportArray); $this->assertSame($expected, $exportArray['sql_delayed']); } @@ -1214,7 +1125,6 @@ class ExportTest extends TestCase $export = new Export(['sql_ignore' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_ignore); - $this->assertArrayHasKey('sql_ignore', $exportArray); $this->assertSame($expected, $exportArray['sql_ignore']); } @@ -1224,7 +1134,6 @@ class ExportTest extends TestCase $export = new Export(['sql_utc_time' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_utc_time); - $this->assertArrayHasKey('sql_utc_time', $exportArray); $this->assertSame($expected, $exportArray['sql_utc_time']); } @@ -1234,7 +1143,6 @@ class ExportTest extends TestCase $export = new Export(['sql_hex_for_binary' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_hex_for_binary); - $this->assertArrayHasKey('sql_hex_for_binary', $exportArray); $this->assertSame($expected, $exportArray['sql_hex_for_binary']); } @@ -1244,7 +1152,6 @@ class ExportTest extends TestCase $export = new Export(['sql_type' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_type); - $this->assertArrayHasKey('sql_type', $exportArray); $this->assertSame($expected, $exportArray['sql_type']); } @@ -1264,7 +1171,6 @@ class ExportTest extends TestCase $export = new Export(['sql_max_query_size' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_max_query_size); - $this->assertArrayHasKey('sql_max_query_size', $exportArray); $this->assertSame($expected, $exportArray['sql_max_query_size']); } @@ -1283,7 +1189,6 @@ class ExportTest extends TestCase $export = new Export(['sql_mime' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_mime); - $this->assertArrayHasKey('sql_mime', $exportArray); $this->assertSame($expected, $exportArray['sql_mime']); } @@ -1293,7 +1198,6 @@ class ExportTest extends TestCase $export = new Export(['sql_header_comment' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_header_comment); - $this->assertArrayHasKey('sql_header_comment', $exportArray); $this->assertSame($expected, $exportArray['sql_header_comment']); } @@ -1312,7 +1216,6 @@ class ExportTest extends TestCase $export = new Export(['sql_insert_syntax' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->sql_insert_syntax); - $this->assertArrayHasKey('sql_insert_syntax', $exportArray); $this->assertSame($expected, $exportArray['sql_insert_syntax']); } @@ -1334,7 +1237,6 @@ class ExportTest extends TestCase $export = new Export(['pdf_report_title' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->pdf_report_title); - $this->assertArrayHasKey('pdf_report_title', $exportArray); $this->assertSame($expected, $exportArray['pdf_report_title']); } @@ -1353,7 +1255,6 @@ class ExportTest extends TestCase $export = new Export(['xml_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_structure_or_data); - $this->assertArrayHasKey('xml_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['xml_structure_or_data']); } @@ -1363,7 +1264,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_struc' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_struc); - $this->assertArrayHasKey('xml_export_struc', $exportArray); $this->assertSame($expected, $exportArray['xml_export_struc']); } @@ -1373,7 +1273,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_events' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_events); - $this->assertArrayHasKey('xml_export_events', $exportArray); $this->assertSame($expected, $exportArray['xml_export_events']); } @@ -1383,7 +1282,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_functions' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_functions); - $this->assertArrayHasKey('xml_export_functions', $exportArray); $this->assertSame($expected, $exportArray['xml_export_functions']); } @@ -1393,7 +1291,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_procedures' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_procedures); - $this->assertArrayHasKey('xml_export_procedures', $exportArray); $this->assertSame($expected, $exportArray['xml_export_procedures']); } @@ -1403,7 +1300,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_tables' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_tables); - $this->assertArrayHasKey('xml_export_tables', $exportArray); $this->assertSame($expected, $exportArray['xml_export_tables']); } @@ -1413,7 +1309,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_triggers' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_triggers); - $this->assertArrayHasKey('xml_export_triggers', $exportArray); $this->assertSame($expected, $exportArray['xml_export_triggers']); } @@ -1423,7 +1318,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_views' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_views); - $this->assertArrayHasKey('xml_export_views', $exportArray); $this->assertSame($expected, $exportArray['xml_export_views']); } @@ -1433,7 +1327,6 @@ class ExportTest extends TestCase $export = new Export(['xml_export_contents' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->xml_export_contents); - $this->assertArrayHasKey('xml_export_contents', $exportArray); $this->assertSame($expected, $exportArray['xml_export_contents']); } @@ -1443,7 +1336,6 @@ class ExportTest extends TestCase $export = new Export(['yaml_structure_or_data' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->yaml_structure_or_data); - $this->assertArrayHasKey('yaml_structure_or_data', $exportArray); $this->assertSame($expected, $exportArray['yaml_structure_or_data']); } @@ -1453,7 +1345,6 @@ class ExportTest extends TestCase $export = new Export(['remove_definer_from_definitions' => $actual]); $exportArray = $export->asArray(); $this->assertSame($expected, $export->remove_definer_from_definitions); - $this->assertArrayHasKey('remove_definer_from_definitions', $exportArray); $this->assertSame($expected, $exportArray['remove_definer_from_definitions']); } } diff --git a/test/classes/Config/Settings/ImportTest.php b/test/classes/Config/Settings/ImportTest.php index 7e677c1b52..3eb12bb396 100644 --- a/test/classes/Config/Settings/ImportTest.php +++ b/test/classes/Config/Settings/ImportTest.php @@ -19,7 +19,6 @@ class ImportTest extends TestCase $import = new Import(['format' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->format); - $this->assertArrayHasKey('format', $importArray); $this->assertSame($expected, $importArray['format']); } @@ -40,7 +39,6 @@ class ImportTest extends TestCase $import = new Import(['charset' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->charset); - $this->assertArrayHasKey('charset', $importArray); $this->assertSame($expected, $importArray['charset']); } @@ -59,7 +57,6 @@ class ImportTest extends TestCase $import = new Import(['allow_interrupt' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->allow_interrupt); - $this->assertArrayHasKey('allow_interrupt', $importArray); $this->assertSame($expected, $importArray['allow_interrupt']); } @@ -78,7 +75,6 @@ class ImportTest extends TestCase $import = new Import(['skip_queries' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->skip_queries); - $this->assertArrayHasKey('skip_queries', $importArray); $this->assertSame($expected, $importArray['skip_queries']); } @@ -98,7 +94,6 @@ class ImportTest extends TestCase $import = new Import(['sql_compatibility' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->sql_compatibility); - $this->assertArrayHasKey('sql_compatibility', $importArray); $this->assertSame($expected, $importArray['sql_compatibility']); } @@ -125,7 +120,6 @@ class ImportTest extends TestCase $import = new Import(['sql_no_auto_value_on_zero' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->sql_no_auto_value_on_zero); - $this->assertArrayHasKey('sql_no_auto_value_on_zero', $importArray); $this->assertSame($expected, $importArray['sql_no_auto_value_on_zero']); } @@ -135,7 +129,6 @@ class ImportTest extends TestCase $import = new Import(['sql_read_as_multibytes' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->sql_read_as_multibytes); - $this->assertArrayHasKey('sql_read_as_multibytes', $importArray); $this->assertSame($expected, $importArray['sql_read_as_multibytes']); } @@ -154,7 +147,6 @@ class ImportTest extends TestCase $import = new Import(['csv_replace' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_replace); - $this->assertArrayHasKey('csv_replace', $importArray); $this->assertSame($expected, $importArray['csv_replace']); } @@ -164,7 +156,6 @@ class ImportTest extends TestCase $import = new Import(['csv_ignore' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_ignore); - $this->assertArrayHasKey('csv_ignore', $importArray); $this->assertSame($expected, $importArray['csv_ignore']); } @@ -174,7 +165,6 @@ class ImportTest extends TestCase $import = new Import(['csv_terminated' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_terminated); - $this->assertArrayHasKey('csv_terminated', $importArray); $this->assertSame($expected, $importArray['csv_terminated']); } @@ -193,7 +183,6 @@ class ImportTest extends TestCase $import = new Import(['csv_enclosed' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_enclosed); - $this->assertArrayHasKey('csv_enclosed', $importArray); $this->assertSame($expected, $importArray['csv_enclosed']); } @@ -212,7 +201,6 @@ class ImportTest extends TestCase $import = new Import(['csv_escaped' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_escaped); - $this->assertArrayHasKey('csv_escaped', $importArray); $this->assertSame($expected, $importArray['csv_escaped']); } @@ -231,7 +219,6 @@ class ImportTest extends TestCase $import = new Import(['csv_new_line' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_new_line); - $this->assertArrayHasKey('csv_new_line', $importArray); $this->assertSame($expected, $importArray['csv_new_line']); } @@ -250,7 +237,6 @@ class ImportTest extends TestCase $import = new Import(['csv_columns' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_columns); - $this->assertArrayHasKey('csv_columns', $importArray); $this->assertSame($expected, $importArray['csv_columns']); } @@ -269,7 +255,6 @@ class ImportTest extends TestCase $import = new Import(['csv_col_names' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->csv_col_names); - $this->assertArrayHasKey('csv_col_names', $importArray); $this->assertSame($expected, $importArray['csv_col_names']); } @@ -279,7 +264,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_replace' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_replace); - $this->assertArrayHasKey('ldi_replace', $importArray); $this->assertSame($expected, $importArray['ldi_replace']); } @@ -289,7 +273,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_ignore' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_ignore); - $this->assertArrayHasKey('ldi_ignore', $importArray); $this->assertSame($expected, $importArray['ldi_ignore']); } @@ -299,7 +282,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_terminated' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_terminated); - $this->assertArrayHasKey('ldi_terminated', $importArray); $this->assertSame($expected, $importArray['ldi_terminated']); } @@ -318,7 +300,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_enclosed' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_enclosed); - $this->assertArrayHasKey('ldi_enclosed', $importArray); $this->assertSame($expected, $importArray['ldi_enclosed']); } @@ -337,7 +318,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_escaped' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_escaped); - $this->assertArrayHasKey('ldi_escaped', $importArray); $this->assertSame($expected, $importArray['ldi_escaped']); } @@ -356,7 +336,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_new_line' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_new_line); - $this->assertArrayHasKey('ldi_new_line', $importArray); $this->assertSame($expected, $importArray['ldi_new_line']); } @@ -375,7 +354,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_columns' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_columns); - $this->assertArrayHasKey('ldi_columns', $importArray); $this->assertSame($expected, $importArray['ldi_columns']); } @@ -394,7 +372,6 @@ class ImportTest extends TestCase $import = new Import(['ldi_local_option' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ldi_local_option); - $this->assertArrayHasKey('ldi_local_option', $importArray); $this->assertSame($expected, $importArray['ldi_local_option']); } @@ -414,7 +391,6 @@ class ImportTest extends TestCase $import = new Import(['ods_col_names' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ods_col_names); - $this->assertArrayHasKey('ods_col_names', $importArray); $this->assertSame($expected, $importArray['ods_col_names']); } @@ -424,7 +400,6 @@ class ImportTest extends TestCase $import = new Import(['ods_empty_rows' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ods_empty_rows); - $this->assertArrayHasKey('ods_empty_rows', $importArray); $this->assertSame($expected, $importArray['ods_empty_rows']); } @@ -434,7 +409,6 @@ class ImportTest extends TestCase $import = new Import(['ods_recognize_percentages' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ods_recognize_percentages); - $this->assertArrayHasKey('ods_recognize_percentages', $importArray); $this->assertSame($expected, $importArray['ods_recognize_percentages']); } @@ -444,7 +418,6 @@ class ImportTest extends TestCase $import = new Import(['ods_recognize_currency' => $actual]); $importArray = $import->asArray(); $this->assertSame($expected, $import->ods_recognize_currency); - $this->assertArrayHasKey('ods_recognize_currency', $importArray); $this->assertSame($expected, $importArray['ods_recognize_currency']); } } diff --git a/test/classes/Config/Settings/SqlQueryBoxTest.php b/test/classes/Config/Settings/SqlQueryBoxTest.php index 6fab9b06ef..7bd8d53fd1 100644 --- a/test/classes/Config/Settings/SqlQueryBoxTest.php +++ b/test/classes/Config/Settings/SqlQueryBoxTest.php @@ -19,7 +19,6 @@ class SqlQueryBoxTest extends TestCase $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $sqlQueryBox->Edit); - $this->assertArrayHasKey('Edit', $sqlQueryBoxArray); $this->assertSame($expected, $sqlQueryBoxArray['Edit']); } @@ -30,7 +29,6 @@ class SqlQueryBoxTest extends TestCase $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $sqlQueryBox->Explain); - $this->assertArrayHasKey('Explain', $sqlQueryBoxArray); $this->assertSame($expected, $sqlQueryBoxArray['Explain']); } @@ -41,7 +39,6 @@ class SqlQueryBoxTest extends TestCase $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $sqlQueryBox->ShowAsPHP); - $this->assertArrayHasKey('ShowAsPHP', $sqlQueryBoxArray); $this->assertSame($expected, $sqlQueryBoxArray['ShowAsPHP']); } @@ -52,7 +49,6 @@ class SqlQueryBoxTest extends TestCase $sqlQueryBoxArray = $sqlQueryBox->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $sqlQueryBox->Refresh); - $this->assertArrayHasKey('Refresh', $sqlQueryBoxArray); $this->assertSame($expected, $sqlQueryBoxArray['Refresh']); } diff --git a/test/classes/Config/Settings/TransformationsTest.php b/test/classes/Config/Settings/TransformationsTest.php index 6ca74234d6..59780d3b20 100644 --- a/test/classes/Config/Settings/TransformationsTest.php +++ b/test/classes/Config/Settings/TransformationsTest.php @@ -20,7 +20,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->Substring); - $this->assertArrayHasKey('Substring', $transformationsArray); $this->assertSame($expected, $transformationsArray['Substring']); } @@ -46,7 +45,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->Bool2Text); - $this->assertArrayHasKey('Bool2Text', $transformationsArray); $this->assertSame($expected, $transformationsArray['Bool2Text']); } @@ -70,7 +68,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->External); - $this->assertArrayHasKey('External', $transformationsArray); $this->assertSame($expected, $transformationsArray['External']); } @@ -97,7 +94,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->PreApPend); - $this->assertArrayHasKey('PreApPend', $transformationsArray); $this->assertSame($expected, $transformationsArray['PreApPend']); } @@ -121,7 +117,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->Hex); - $this->assertArrayHasKey('Hex', $transformationsArray); $this->assertSame($expected, $transformationsArray['Hex']); } @@ -144,7 +139,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->DateFormat); - $this->assertArrayHasKey('DateFormat', $transformationsArray); $this->assertSame($expected, $transformationsArray['DateFormat']); } @@ -170,7 +164,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->Inline); - $this->assertArrayHasKey('Inline', $transformationsArray); $this->assertSame($expected, $transformationsArray['Inline']); } @@ -203,7 +196,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->TextImageLink); - $this->assertArrayHasKey('TextImageLink', $transformationsArray); $this->assertSame($expected, $transformationsArray['TextImageLink']); } @@ -229,7 +221,6 @@ class TransformationsTest extends TestCase $transformationsArray = $transformations->asArray(); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps $this->assertSame($expected, $transformations->TextLink); - $this->assertArrayHasKey('TextLink', $transformationsArray); $this->assertSame($expected, $transformationsArray['TextLink']); } diff --git a/test/classes/Config/SettingsTest.php b/test/classes/Config/SettingsTest.php index 3efdbe03e3..c3d30c1689 100644 --- a/test/classes/Config/SettingsTest.php +++ b/test/classes/Config/SettingsTest.php @@ -244,21 +244,6 @@ class SettingsTest extends TestCase 'FirstDayOfCalendar' => 0, ]; - public function testAsArray(): void - { - $settings = new Settings([]); - $config = $settings->asArray(); - $this->assertIsArray($config['Console']); - $this->assertIsArray($config['DBG']); - $this->assertIsArray($config['Export']); - $this->assertIsArray($config['Import']); - $this->assertIsArray($config['Schema']); - $this->assertIsArray($config['SQLQuery']); - $this->assertIsArray($config['DefaultTransformations']); - $this->assertIsArray($config['Servers']); - $this->assertIsArray($config['Servers'][1]); - } - /** * @param mixed[][] $values * @psalm-param (array{0: string, 1: mixed, 2: mixed})[] $values @@ -1010,7 +995,6 @@ class SettingsTest extends TestCase $settings = new Settings(['PmaAbsoluteUri' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->PmaAbsoluteUri); - $this->assertArrayHasKey('PmaAbsoluteUri', $settingsArray); $this->assertSame($expected, $settingsArray['PmaAbsoluteUri']); } @@ -1029,7 +1013,6 @@ class SettingsTest extends TestCase $settings = new Settings(['AuthLog' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->authLog); - $this->assertArrayHasKey('AuthLog', $settingsArray); $this->assertSame($expected, $settingsArray['AuthLog']); } @@ -1048,7 +1031,6 @@ class SettingsTest extends TestCase $settings = new Settings(['AuthLogSuccess' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->authLogSuccess); - $this->assertArrayHasKey('AuthLogSuccess', $settingsArray); $this->assertSame($expected, $settingsArray['AuthLogSuccess']); } @@ -1058,7 +1040,6 @@ class SettingsTest extends TestCase $settings = new Settings(['PmaNoRelation_DisableWarning' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->PmaNoRelation_DisableWarning); - $this->assertArrayHasKey('PmaNoRelation_DisableWarning', $settingsArray); $this->assertSame($expected, $settingsArray['PmaNoRelation_DisableWarning']); } @@ -1068,7 +1049,6 @@ class SettingsTest extends TestCase $settings = new Settings(['SuhosinDisableWarning' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->SuhosinDisableWarning); - $this->assertArrayHasKey('SuhosinDisableWarning', $settingsArray); $this->assertSame($expected, $settingsArray['SuhosinDisableWarning']); } @@ -1078,7 +1058,6 @@ class SettingsTest extends TestCase $settings = new Settings(['LoginCookieValidityDisableWarning' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->LoginCookieValidityDisableWarning); - $this->assertArrayHasKey('LoginCookieValidityDisableWarning', $settingsArray); $this->assertSame($expected, $settingsArray['LoginCookieValidityDisableWarning']); } @@ -1088,7 +1067,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ReservedWordDisableWarning' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ReservedWordDisableWarning); - $this->assertArrayHasKey('ReservedWordDisableWarning', $settingsArray); $this->assertSame($expected, $settingsArray['ReservedWordDisableWarning']); } @@ -1098,7 +1076,6 @@ class SettingsTest extends TestCase $settings = new Settings(['TranslationWarningThreshold' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->TranslationWarningThreshold); - $this->assertArrayHasKey('TranslationWarningThreshold', $settingsArray); $this->assertSame($expected, $settingsArray['TranslationWarningThreshold']); } @@ -1118,7 +1095,6 @@ class SettingsTest extends TestCase $settings = new Settings(['AllowThirdPartyFraming' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->AllowThirdPartyFraming); - $this->assertArrayHasKey('AllowThirdPartyFraming', $settingsArray); $this->assertSame($expected, $settingsArray['AllowThirdPartyFraming']); } @@ -1138,7 +1114,6 @@ class SettingsTest extends TestCase $settings = new Settings(['blowfish_secret' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->blowfish_secret); - $this->assertArrayHasKey('blowfish_secret', $settingsArray); $this->assertSame($expected, $settingsArray['blowfish_secret']); } @@ -1158,7 +1133,6 @@ class SettingsTest extends TestCase $settings = new Settings(['Servers' => $actual]); $settingsArray = $settings->asArray(); $this->assertEquals($expected, $settings->Servers); - $this->assertArrayHasKey('Servers', $settingsArray); $expectedArray = array_map(static fn (Server $server): array => $server->asArray(), $expected); $this->assertSame($expectedArray, $settingsArray['Servers']); } @@ -1187,7 +1161,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ServerDefault' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ServerDefault); - $this->assertArrayHasKey('ServerDefault', $settingsArray); $this->assertSame($expected, $settingsArray['ServerDefault']); } @@ -1206,7 +1179,6 @@ class SettingsTest extends TestCase $settings = new Settings(['VersionCheck' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->VersionCheck); - $this->assertArrayHasKey('VersionCheck', $settingsArray); $this->assertSame($expected, $settingsArray['VersionCheck']); } @@ -1216,7 +1188,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ProxyUrl' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ProxyUrl); - $this->assertArrayHasKey('ProxyUrl', $settingsArray); $this->assertSame($expected, $settingsArray['ProxyUrl']); } @@ -1235,7 +1206,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ProxyUser' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ProxyUser); - $this->assertArrayHasKey('ProxyUser', $settingsArray); $this->assertSame($expected, $settingsArray['ProxyUser']); } @@ -1254,7 +1224,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ProxyPass' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ProxyPass); - $this->assertArrayHasKey('ProxyPass', $settingsArray); $this->assertSame($expected, $settingsArray['ProxyPass']); } @@ -1273,7 +1242,6 @@ class SettingsTest extends TestCase $settings = new Settings(['MaxDbList' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->MaxDbList); - $this->assertArrayHasKey('MaxDbList', $settingsArray); $this->assertSame($expected, $settingsArray['MaxDbList']); } @@ -1292,7 +1260,6 @@ class SettingsTest extends TestCase $settings = new Settings(['MaxTableList' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->MaxTableList); - $this->assertArrayHasKey('MaxTableList', $settingsArray); $this->assertSame($expected, $settingsArray['MaxTableList']); } @@ -1311,7 +1278,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ShowHint' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ShowHint); - $this->assertArrayHasKey('ShowHint', $settingsArray); $this->assertSame($expected, $settingsArray['ShowHint']); } @@ -1321,7 +1287,6 @@ class SettingsTest extends TestCase $settings = new Settings(['MaxCharactersInDisplayedSQL' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->MaxCharactersInDisplayedSQL); - $this->assertArrayHasKey('MaxCharactersInDisplayedSQL', $settingsArray); $this->assertSame($expected, $settingsArray['MaxCharactersInDisplayedSQL']); } @@ -1340,7 +1305,6 @@ class SettingsTest extends TestCase $settings = new Settings(['OBGzip' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->OBGzip); - $this->assertArrayHasKey('OBGzip', $settingsArray); $this->assertSame($expected, $settingsArray['OBGzip']); } @@ -1360,7 +1324,6 @@ class SettingsTest extends TestCase $settings = new Settings(['PersistentConnections' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->PersistentConnections); - $this->assertArrayHasKey('PersistentConnections', $settingsArray); $this->assertSame($expected, $settingsArray['PersistentConnections']); } @@ -1370,7 +1333,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ExecTimeLimit' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->ExecTimeLimit); - $this->assertArrayHasKey('ExecTimeLimit', $settingsArray); $this->assertSame($expected, $settingsArray['ExecTimeLimit']); } @@ -1389,7 +1351,6 @@ class SettingsTest extends TestCase $settings = new Settings(['SessionSavePath' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->SessionSavePath); - $this->assertArrayHasKey('SessionSavePath', $settingsArray); $this->assertSame($expected, $settingsArray['SessionSavePath']); } @@ -1408,7 +1369,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ShowAll' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->showAll); - $this->assertArrayHasKey('ShowAll', $settingsArray); $this->assertSame($expected, $settingsArray['ShowAll']); } @@ -1427,7 +1387,6 @@ class SettingsTest extends TestCase $settings = new Settings(['MaxRows' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->maxRows); - $this->assertArrayHasKey('MaxRows', $settingsArray); $this->assertSame($expected, $settingsArray['MaxRows']); } @@ -1446,7 +1405,6 @@ class SettingsTest extends TestCase $settings = new Settings(['LimitChars' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->limitChars); - $this->assertArrayHasKey('LimitChars', $settingsArray); $this->assertSame($expected, $settingsArray['LimitChars']); } @@ -1465,7 +1423,6 @@ class SettingsTest extends TestCase $settings = new Settings(['RepeatCells' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->repeatCells); - $this->assertArrayHasKey('RepeatCells', $settingsArray); $this->assertSame($expected, $settingsArray['RepeatCells']); } @@ -1484,7 +1441,6 @@ class SettingsTest extends TestCase $settings = new Settings(['ZeroConf' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->zeroConf); - $this->assertArrayHasKey('ZeroConf', $settingsArray); $this->assertSame($expected, $settingsArray['ZeroConf']); } @@ -1504,7 +1460,6 @@ class SettingsTest extends TestCase $settings = new Settings(['MysqlMinVersion' => $actual]); $settingsArray = $settings->asArray(); $this->assertSame($expected, $settings->mysqlMinVersion); - $this->assertArrayHasKey('MysqlMinVersion', $settingsArray); $this->assertSame($expected, $settingsArray['MysqlMinVersion']); }