Translated using Weblate (Portuguese)
[phpmyadmin.git] / tests / unit / ConfigStorage / RelationParametersTest.php
blob6b4a86e0f805f46151ddbb19b4f6c2ca80b86b1e
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Tests\ConfigStorage;
7 use PhpMyAdmin\ConfigStorage\Features\BookmarkFeature;
8 use PhpMyAdmin\ConfigStorage\Features\BrowserTransformationFeature;
9 use PhpMyAdmin\ConfigStorage\Features\CentralColumnsFeature;
10 use PhpMyAdmin\ConfigStorage\Features\ColumnCommentsFeature;
11 use PhpMyAdmin\ConfigStorage\Features\ConfigurableMenusFeature;
12 use PhpMyAdmin\ConfigStorage\Features\DatabaseDesignerSettingsFeature;
13 use PhpMyAdmin\ConfigStorage\Features\DisplayFeature;
14 use PhpMyAdmin\ConfigStorage\Features\ExportTemplatesFeature;
15 use PhpMyAdmin\ConfigStorage\Features\FavoriteTablesFeature;
16 use PhpMyAdmin\ConfigStorage\Features\NavigationItemsHidingFeature;
17 use PhpMyAdmin\ConfigStorage\Features\PdfFeature;
18 use PhpMyAdmin\ConfigStorage\Features\RecentlyUsedTablesFeature;
19 use PhpMyAdmin\ConfigStorage\Features\RelationFeature;
20 use PhpMyAdmin\ConfigStorage\Features\SavedQueryByExampleSearchesFeature;
21 use PhpMyAdmin\ConfigStorage\Features\SqlHistoryFeature;
22 use PhpMyAdmin\ConfigStorage\Features\TrackingFeature;
23 use PhpMyAdmin\ConfigStorage\Features\UiPreferencesFeature;
24 use PhpMyAdmin\ConfigStorage\Features\UserPreferencesFeature;
25 use PhpMyAdmin\ConfigStorage\RelationParameters;
26 use PhpMyAdmin\Identifiers\DatabaseName;
27 use PhpMyAdmin\Version;
28 use PHPUnit\Framework\Attributes\CoversClass;
29 use PHPUnit\Framework\Attributes\DataProvider;
30 use PHPUnit\Framework\TestCase;
32 #[CoversClass(RelationParameters::class)]
33 #[CoversClass(BookmarkFeature::class)]
34 #[CoversClass(BrowserTransformationFeature::class)]
35 #[CoversClass(CentralColumnsFeature::class)]
36 #[CoversClass(ColumnCommentsFeature::class)]
37 #[CoversClass(ConfigurableMenusFeature::class)]
38 #[CoversClass(DatabaseDesignerSettingsFeature::class)]
39 #[CoversClass(DisplayFeature::class)]
40 #[CoversClass(ExportTemplatesFeature::class)]
41 #[CoversClass(FavoriteTablesFeature::class)]
42 #[CoversClass(NavigationItemsHidingFeature::class)]
43 #[CoversClass(PdfFeature::class)]
44 #[CoversClass(RecentlyUsedTablesFeature::class)]
45 #[CoversClass(RelationFeature::class)]
46 #[CoversClass(SavedQueryByExampleSearchesFeature::class)]
47 #[CoversClass(SqlHistoryFeature::class)]
48 #[CoversClass(TrackingFeature::class)]
49 #[CoversClass(UiPreferencesFeature::class)]
50 #[CoversClass(UserPreferencesFeature::class)]
51 class RelationParametersTest extends TestCase
53 public function testFeaturesWithTwoTables(): void
55 self::assertNull(RelationParameters::fromArray([
56 'db' => 'db',
57 'pdf_pages' => 'pdf_pages',
58 'table_coords' => ' invalid ',
59 'pdfwork' => true,
60 ])->pdfFeature);
61 self::assertNull(RelationParameters::fromArray([
62 'db' => 'db',
63 'pdf_pages' => ' invalid ',
64 'table_coords' => 'table_coords',
65 'pdfwork' => true,
66 ])->pdfFeature);
67 self::assertNull(RelationParameters::fromArray([
68 'db' => 'db',
69 'relation' => 'relation',
70 'table_info' => ' invalid ',
71 'displaywork' => true,
72 ])->displayFeature);
73 self::assertNull(RelationParameters::fromArray([
74 'db' => 'db',
75 'relation' => ' invalid ',
76 'table_info' => 'table_info',
77 'displaywork' => true,
78 ])->displayFeature);
79 self::assertNull(RelationParameters::fromArray([
80 'db' => 'db',
81 'usergroups' => 'usergroups',
82 'users' => ' invalid ',
83 'menuwork' => true,
84 ])->configurableMenusFeature);
85 self::assertNull(RelationParameters::fromArray([
86 'db' => 'db',
87 'usergroups' => ' invalid ',
88 'users' => 'users',
89 'menuswork' => true,
90 ])->configurableMenusFeature);
93 public function testFeaturesWithSharedTable(): void
95 $relationParameters = RelationParameters::fromArray([
96 'db' => 'db',
97 'column_info' => 'column_info',
98 'relation' => 'relation',
99 'table_info' => 'table_info',
100 'mimework' => true,
101 'commwork' => true,
102 'displaywork' => true,
103 'relwork' => true,
105 self::assertNotNull($relationParameters->browserTransformationFeature);
106 self::assertNotNull($relationParameters->columnCommentsFeature);
107 self::assertNotNull($relationParameters->displayFeature);
108 self::assertNotNull($relationParameters->relationFeature);
109 self::assertSame(
110 $relationParameters->browserTransformationFeature->columnInfo,
111 $relationParameters->columnCommentsFeature->columnInfo,
113 self::assertSame($relationParameters->relationFeature->relation, $relationParameters->displayFeature->relation);
115 $relationParameters = RelationParameters::fromArray([
116 'db' => 'db',
117 'column_info' => 'column_info',
118 'relation' => 'relation',
119 'table_info' => 'table_info',
120 'mimework' => false,
121 'commwork' => true,
122 'displaywork' => true,
123 'relwork' => false,
125 self::assertNull($relationParameters->browserTransformationFeature);
126 self::assertNotNull($relationParameters->columnCommentsFeature);
127 self::assertNotNull($relationParameters->displayFeature);
128 self::assertNull($relationParameters->relationFeature);
131 public function testFeaturesHaveSameDatabase(): void
133 $relationParameters = RelationParameters::fromArray([
134 'db' => 'db',
135 'bookmark' => 'bookmark',
136 'central_columns' => 'central_columns',
137 'column_info' => 'column_info',
138 'designer_settings' => 'designer_settings',
139 'export_templates' => 'export_templates',
140 'favorite' => 'favorite',
141 'history' => 'history',
142 'navigationhiding' => 'navigationhiding',
143 'pdf_pages' => 'pdf_pages',
144 'recent' => 'recent',
145 'relation' => 'relation',
146 'savedsearches' => 'savedsearches',
147 'table_coords' => 'table_coords',
148 'table_info' => 'table_info',
149 'table_uiprefs' => 'table_uiprefs',
150 'tracking' => 'tracking',
151 'userconfig' => 'userconfig',
152 'usergroups' => 'usergroups',
153 'users' => 'users',
154 'bookmarkwork' => true,
155 'mimework' => true,
156 'centralcolumnswork' => true,
157 'commwork' => true,
158 'menuswork' => true,
159 'designersettingswork' => true,
160 'displaywork' => true,
161 'exporttemplateswork' => true,
162 'favoritework' => true,
163 'navwork' => true,
164 'pdfwork' => true,
165 'recentwork' => true,
166 'relwork' => true,
167 'savedsearcheswork' => true,
168 'historywork' => true,
169 'trackingwork' => true,
170 'uiprefswork' => true,
171 'userconfigwork' => true,
173 self::assertInstanceOf(DatabaseName::class, $relationParameters->db);
174 self::assertSame('db', $relationParameters->db->getName());
175 self::assertNotNull($relationParameters->bookmarkFeature);
176 self::assertSame($relationParameters->db, $relationParameters->bookmarkFeature->database);
177 self::assertNotNull($relationParameters->browserTransformationFeature);
178 self::assertSame($relationParameters->db, $relationParameters->browserTransformationFeature->database);
179 self::assertNotNull($relationParameters->centralColumnsFeature);
180 self::assertSame($relationParameters->db, $relationParameters->centralColumnsFeature->database);
181 self::assertNotNull($relationParameters->columnCommentsFeature);
182 self::assertSame($relationParameters->db, $relationParameters->columnCommentsFeature->database);
183 self::assertNotNull($relationParameters->configurableMenusFeature);
184 self::assertSame($relationParameters->db, $relationParameters->configurableMenusFeature->database);
185 self::assertNotNull($relationParameters->databaseDesignerSettingsFeature);
186 self::assertSame($relationParameters->db, $relationParameters->databaseDesignerSettingsFeature->database);
187 self::assertNotNull($relationParameters->displayFeature);
188 self::assertSame($relationParameters->db, $relationParameters->displayFeature->database);
189 self::assertNotNull($relationParameters->exportTemplatesFeature);
190 self::assertSame($relationParameters->db, $relationParameters->exportTemplatesFeature->database);
191 self::assertNotNull($relationParameters->favoriteTablesFeature);
192 self::assertSame($relationParameters->db, $relationParameters->favoriteTablesFeature->database);
193 self::assertNotNull($relationParameters->navigationItemsHidingFeature);
194 self::assertSame($relationParameters->db, $relationParameters->navigationItemsHidingFeature->database);
195 self::assertNotNull($relationParameters->pdfFeature);
196 self::assertSame($relationParameters->db, $relationParameters->pdfFeature->database);
197 self::assertNotNull($relationParameters->recentlyUsedTablesFeature);
198 self::assertSame($relationParameters->db, $relationParameters->recentlyUsedTablesFeature->database);
199 self::assertNotNull($relationParameters->relationFeature);
200 self::assertSame($relationParameters->db, $relationParameters->relationFeature->database);
201 self::assertNotNull($relationParameters->savedQueryByExampleSearchesFeature);
202 self::assertSame($relationParameters->db, $relationParameters->savedQueryByExampleSearchesFeature->database);
203 self::assertNotNull($relationParameters->sqlHistoryFeature);
204 self::assertSame($relationParameters->db, $relationParameters->sqlHistoryFeature->database);
205 self::assertNotNull($relationParameters->trackingFeature);
206 self::assertSame($relationParameters->db, $relationParameters->trackingFeature->database);
207 self::assertNotNull($relationParameters->uiPreferencesFeature);
208 self::assertSame($relationParameters->db, $relationParameters->uiPreferencesFeature->database);
209 self::assertNotNull($relationParameters->userPreferencesFeature);
210 self::assertSame($relationParameters->db, $relationParameters->userPreferencesFeature->database);
213 public function testHasAllFeatures(): void
215 $params = [
216 'db' => 'db',
217 'bookmark' => 'bookmark',
218 'central_columns' => 'central_columns',
219 'column_info' => 'column_info',
220 'designer_settings' => 'designer_settings',
221 'export_templates' => 'export_templates',
222 'favorite' => 'favorite',
223 'history' => 'history',
224 'navigationhiding' => 'navigationhiding',
225 'pdf_pages' => 'pdf_pages',
226 'recent' => 'recent',
227 'relation' => 'relation',
228 'savedsearches' => 'savedsearches',
229 'table_coords' => 'table_coords',
230 'table_info' => 'table_info',
231 'table_uiprefs' => 'table_uiprefs',
232 'tracking' => 'tracking',
233 'userconfig' => 'userconfig',
234 'usergroups' => 'usergroups',
235 'users' => 'users',
236 'bookmarkwork' => true,
237 'mimework' => true,
238 'centralcolumnswork' => true,
239 'commwork' => true,
240 'menuswork' => true,
241 'designersettingswork' => true,
242 'displaywork' => true,
243 'exporttemplateswork' => true,
244 'favoritework' => true,
245 'navwork' => true,
246 'pdfwork' => true,
247 'recentwork' => true,
248 'relwork' => true,
249 'savedsearcheswork' => true,
250 'historywork' => true,
251 'trackingwork' => true,
252 'uiprefswork' => true,
253 'userconfigwork' => true,
255 self::assertFalse(RelationParameters::fromArray([])->hasAllFeatures());
256 self::assertTrue(RelationParameters::fromArray($params)->hasAllFeatures());
257 $params['bookmarkwork'] = false;
258 self::assertFalse(RelationParameters::fromArray($params)->hasAllFeatures());
262 * @param mixed[] $params
263 * @param mixed[] $expected
265 #[DataProvider('providerForTestToArray')]
266 public function testToArray(array $params, array $expected): void
268 self::assertSame($expected, RelationParameters::fromArray($params)->toArray());
271 /** @return array<string, array<int, array<string, mixed>>> */
272 public static function providerForTestToArray(): array
274 return [
275 'default values' => [
278 'version' => Version::VERSION,
279 'user' => null,
280 'db' => null,
281 'bookmark' => null,
282 'central_columns' => null,
283 'column_info' => null,
284 'designer_settings' => null,
285 'export_templates' => null,
286 'favorite' => null,
287 'history' => null,
288 'navigationhiding' => null,
289 'pdf_pages' => null,
290 'recent' => null,
291 'relation' => null,
292 'savedsearches' => null,
293 'table_coords' => null,
294 'table_info' => null,
295 'table_uiprefs' => null,
296 'tracking' => null,
297 'userconfig' => null,
298 'usergroups' => null,
299 'users' => null,
300 'bookmarkwork' => false,
301 'mimework' => false,
302 'centralcolumnswork' => false,
303 'commwork' => false,
304 'menuswork' => false,
305 'designersettingswork' => false,
306 'displaywork' => false,
307 'exporttemplateswork' => false,
308 'favoritework' => false,
309 'navwork' => false,
310 'pdfwork' => false,
311 'recentwork' => false,
312 'relwork' => false,
313 'savedsearcheswork' => false,
314 'historywork' => false,
315 'trackingwork' => false,
316 'uiprefswork' => false,
317 'userconfigwork' => false,
318 'allworks' => false,
321 'default values 2' => [
323 'relwork' => false,
324 'displaywork' => false,
325 'bookmarkwork' => false,
326 'pdfwork' => false,
327 'commwork' => false,
328 'mimework' => false,
329 'historywork' => false,
330 'recentwork' => false,
331 'favoritework' => false,
332 'uiprefswork' => false,
333 'trackingwork' => false,
334 'userconfigwork' => false,
335 'menuswork' => false,
336 'navwork' => false,
337 'savedsearcheswork' => false,
338 'centralcolumnswork' => false,
339 'designersettingswork' => false,
340 'exporttemplateswork' => false,
341 'allworks' => false,
342 'user' => null,
343 'db' => null,
344 'bookmark' => null,
345 'central_columns' => null,
346 'column_info' => null,
347 'designer_settings' => null,
348 'export_templates' => null,
349 'favorite' => null,
350 'history' => null,
351 'navigationhiding' => null,
352 'pdf_pages' => null,
353 'recent' => null,
354 'relation' => null,
355 'savedsearches' => null,
356 'table_coords' => null,
357 'table_info' => null,
358 'table_uiprefs' => null,
359 'tracking' => null,
360 'userconfig' => null,
361 'usergroups' => null,
362 'users' => null,
365 'version' => Version::VERSION,
366 'user' => null,
367 'db' => null,
368 'bookmark' => null,
369 'central_columns' => null,
370 'column_info' => null,
371 'designer_settings' => null,
372 'export_templates' => null,
373 'favorite' => null,
374 'history' => null,
375 'navigationhiding' => null,
376 'pdf_pages' => null,
377 'recent' => null,
378 'relation' => null,
379 'savedsearches' => null,
380 'table_coords' => null,
381 'table_info' => null,
382 'table_uiprefs' => null,
383 'tracking' => null,
384 'userconfig' => null,
385 'usergroups' => null,
386 'users' => null,
387 'bookmarkwork' => false,
388 'mimework' => false,
389 'centralcolumnswork' => false,
390 'commwork' => false,
391 'menuswork' => false,
392 'designersettingswork' => false,
393 'displaywork' => false,
394 'exporttemplateswork' => false,
395 'favoritework' => false,
396 'navwork' => false,
397 'pdfwork' => false,
398 'recentwork' => false,
399 'relwork' => false,
400 'savedsearcheswork' => false,
401 'historywork' => false,
402 'trackingwork' => false,
403 'uiprefswork' => false,
404 'userconfigwork' => false,
405 'allworks' => false,
408 'valid values' => [
410 'relwork' => true,
411 'displaywork' => true,
412 'bookmarkwork' => true,
413 'pdfwork' => true,
414 'commwork' => true,
415 'mimework' => true,
416 'historywork' => true,
417 'recentwork' => true,
418 'favoritework' => true,
419 'uiprefswork' => true,
420 'trackingwork' => true,
421 'userconfigwork' => true,
422 'menuswork' => true,
423 'navwork' => true,
424 'savedsearcheswork' => true,
425 'centralcolumnswork' => true,
426 'designersettingswork' => true,
427 'exporttemplateswork' => true,
428 'allworks' => true,
429 'user' => 'user',
430 'db' => 'db',
431 'bookmark' => 'bookmark',
432 'central_columns' => 'central_columns',
433 'column_info' => 'column_info',
434 'designer_settings' => 'designer_settings',
435 'export_templates' => 'export_templates',
436 'favorite' => 'favorite',
437 'history' => 'history',
438 'navigationhiding' => 'navigationhiding',
439 'pdf_pages' => 'pdf_pages',
440 'recent' => 'recent',
441 'relation' => 'relation',
442 'savedsearches' => 'savedsearches',
443 'table_coords' => 'table_coords',
444 'table_info' => 'table_info',
445 'table_uiprefs' => 'table_uiprefs',
446 'tracking' => 'tracking',
447 'userconfig' => 'userconfig',
448 'usergroups' => 'usergroups',
449 'users' => 'users',
452 'version' => Version::VERSION,
453 'user' => 'user',
454 'db' => 'db',
455 'bookmark' => 'bookmark',
456 'central_columns' => 'central_columns',
457 'column_info' => 'column_info',
458 'designer_settings' => 'designer_settings',
459 'export_templates' => 'export_templates',
460 'favorite' => 'favorite',
461 'history' => 'history',
462 'navigationhiding' => 'navigationhiding',
463 'pdf_pages' => 'pdf_pages',
464 'recent' => 'recent',
465 'relation' => 'relation',
466 'savedsearches' => 'savedsearches',
467 'table_coords' => 'table_coords',
468 'table_info' => 'table_info',
469 'table_uiprefs' => 'table_uiprefs',
470 'tracking' => 'tracking',
471 'userconfig' => 'userconfig',
472 'usergroups' => 'usergroups',
473 'users' => 'users',
474 'bookmarkwork' => true,
475 'mimework' => true,
476 'centralcolumnswork' => true,
477 'commwork' => true,
478 'menuswork' => true,
479 'designersettingswork' => true,
480 'displaywork' => true,
481 'exporttemplateswork' => true,
482 'favoritework' => true,
483 'navwork' => true,
484 'pdfwork' => true,
485 'recentwork' => true,
486 'relwork' => true,
487 'savedsearcheswork' => true,
488 'historywork' => true,
489 'trackingwork' => true,
490 'uiprefswork' => true,
491 'userconfigwork' => true,
492 'allworks' => true,
495 'valid values 2' => [
497 'user' => 'user',
498 'db' => 'db',
499 'column_info' => 'column_info',
500 'relation' => 'relation',
501 'table_info' => 'table_info',
502 'relwork' => false,
503 'displaywork' => true,
504 'commwork' => false,
505 'mimework' => true,
508 'version' => Version::VERSION,
509 'user' => 'user',
510 'db' => 'db',
511 'bookmark' => null,
512 'central_columns' => null,
513 'column_info' => 'column_info',
514 'designer_settings' => null,
515 'export_templates' => null,
516 'favorite' => null,
517 'history' => null,
518 'navigationhiding' => null,
519 'pdf_pages' => null,
520 'recent' => null,
521 'relation' => 'relation',
522 'savedsearches' => null,
523 'table_coords' => null,
524 'table_info' => 'table_info',
525 'table_uiprefs' => null,
526 'tracking' => null,
527 'userconfig' => null,
528 'usergroups' => null,
529 'users' => null,
530 'bookmarkwork' => false,
531 'mimework' => true,
532 'centralcolumnswork' => false,
533 'commwork' => false,
534 'menuswork' => false,
535 'designersettingswork' => false,
536 'displaywork' => true,
537 'exporttemplateswork' => false,
538 'favoritework' => false,
539 'navwork' => false,
540 'pdfwork' => false,
541 'recentwork' => false,
542 'relwork' => false,
543 'savedsearcheswork' => false,
544 'historywork' => false,
545 'trackingwork' => false,
546 'uiprefswork' => false,
547 'userconfigwork' => false,
548 'allworks' => false,
551 'invalid values' => [
553 'relwork' => 1,
554 'displaywork' => 1,
555 'bookmarkwork' => 1,
556 'pdfwork' => 1,
557 'commwork' => 1,
558 'mimework' => 1,
559 'historywork' => 1,
560 'recentwork' => 1,
561 'favoritework' => 1,
562 'uiprefswork' => 1,
563 'trackingwork' => 1,
564 'userconfigwork' => 1,
565 'menuswork' => 1,
566 'navwork' => 1,
567 'savedsearcheswork' => 1,
568 'centralcolumnswork' => 1,
569 'designersettingswork' => 1,
570 'exporttemplateswork' => 1,
571 'allworks' => 1,
572 'user' => 1,
573 'db' => 1,
574 'bookmark' => 1,
575 'central_columns' => 1,
576 'column_info' => 1,
577 'designer_settings' => 1,
578 'export_templates' => 1,
579 'favorite' => 1,
580 'history' => 1,
581 'navigationhiding' => 1,
582 'pdf_pages' => 1,
583 'recent' => 1,
584 'relation' => 1,
585 'savedsearches' => 1,
586 'table_coords' => 1,
587 'table_info' => 1,
588 'table_uiprefs' => 1,
589 'tracking' => 1,
590 'userconfig' => 1,
591 'usergroups' => 1,
592 'users' => 1,
595 'version' => Version::VERSION,
596 'user' => null,
597 'db' => null,
598 'bookmark' => null,
599 'central_columns' => null,
600 'column_info' => null,
601 'designer_settings' => null,
602 'export_templates' => null,
603 'favorite' => null,
604 'history' => null,
605 'navigationhiding' => null,
606 'pdf_pages' => null,
607 'recent' => null,
608 'relation' => null,
609 'savedsearches' => null,
610 'table_coords' => null,
611 'table_info' => null,
612 'table_uiprefs' => null,
613 'tracking' => null,
614 'userconfig' => null,
615 'usergroups' => null,
616 'users' => null,
617 'bookmarkwork' => false,
618 'mimework' => false,
619 'centralcolumnswork' => false,
620 'commwork' => false,
621 'menuswork' => false,
622 'designersettingswork' => false,
623 'displaywork' => false,
624 'exporttemplateswork' => false,
625 'favoritework' => false,
626 'navwork' => false,
627 'pdfwork' => false,
628 'recentwork' => false,
629 'relwork' => false,
630 'savedsearcheswork' => false,
631 'historywork' => false,
632 'trackingwork' => false,
633 'uiprefswork' => false,
634 'userconfigwork' => false,
635 'allworks' => false,
638 'invalid values 2' => [
640 'user' => '',
641 'db' => 'db',
642 'bookmark' => '',
643 'central_columns' => '',
644 'column_info' => '',
645 'designer_settings' => '',
646 'export_templates' => '',
647 'favorite' => '',
648 'history' => '',
649 'navigationhiding' => '',
650 'pdf_pages' => '',
651 'recent' => '',
652 'relation' => '',
653 'savedsearches' => '',
654 'table_coords' => '',
655 'table_info' => '',
656 'table_uiprefs' => '',
657 'tracking' => '',
658 'userconfig' => '',
659 'usergroups' => '',
660 'users' => '',
663 'version' => Version::VERSION,
664 'user' => null,
665 'db' => 'db',
666 'bookmark' => null,
667 'central_columns' => null,
668 'column_info' => null,
669 'designer_settings' => null,
670 'export_templates' => null,
671 'favorite' => null,
672 'history' => null,
673 'navigationhiding' => null,
674 'pdf_pages' => null,
675 'recent' => null,
676 'relation' => null,
677 'savedsearches' => null,
678 'table_coords' => null,
679 'table_info' => null,
680 'table_uiprefs' => null,
681 'tracking' => null,
682 'userconfig' => null,
683 'usergroups' => null,
684 'users' => null,
685 'bookmarkwork' => false,
686 'mimework' => false,
687 'centralcolumnswork' => false,
688 'commwork' => false,
689 'menuswork' => false,
690 'designersettingswork' => false,
691 'displaywork' => false,
692 'exporttemplateswork' => false,
693 'favoritework' => false,
694 'navwork' => false,
695 'pdfwork' => false,
696 'recentwork' => false,
697 'relwork' => false,
698 'savedsearcheswork' => false,
699 'historywork' => false,
700 'trackingwork' => false,
701 'uiprefswork' => false,
702 'userconfigwork' => false,
703 'allworks' => false,
706 'invalid values 3' => [
707 ['user' => '', 'db' => 'db', 'bookmarkwork' => true, 'bookmark' => ' invalid name '],
709 'version' => Version::VERSION,
710 'user' => null,
711 'db' => 'db',
712 'bookmark' => null,
713 'central_columns' => null,
714 'column_info' => null,
715 'designer_settings' => null,
716 'export_templates' => null,
717 'favorite' => null,
718 'history' => null,
719 'navigationhiding' => null,
720 'pdf_pages' => null,
721 'recent' => null,
722 'relation' => null,
723 'savedsearches' => null,
724 'table_coords' => null,
725 'table_info' => null,
726 'table_uiprefs' => null,
727 'tracking' => null,
728 'userconfig' => null,
729 'usergroups' => null,
730 'users' => null,
731 'bookmarkwork' => false,
732 'mimework' => false,
733 'centralcolumnswork' => false,
734 'commwork' => false,
735 'menuswork' => false,
736 'designersettingswork' => false,
737 'displaywork' => false,
738 'exporttemplateswork' => false,
739 'favoritework' => false,
740 'navwork' => false,
741 'pdfwork' => false,
742 'recentwork' => false,
743 'relwork' => false,
744 'savedsearcheswork' => false,
745 'historywork' => false,
746 'trackingwork' => false,
747 'uiprefswork' => false,
748 'userconfigwork' => false,
749 'allworks' => false,
752 'invalid values 4' => [
753 ['user' => '', 'db' => ''],
755 'version' => Version::VERSION,
756 'user' => null,
757 'db' => null,
758 'bookmark' => null,
759 'central_columns' => null,
760 'column_info' => null,
761 'designer_settings' => null,
762 'export_templates' => null,
763 'favorite' => null,
764 'history' => null,
765 'navigationhiding' => null,
766 'pdf_pages' => null,
767 'recent' => null,
768 'relation' => null,
769 'savedsearches' => null,
770 'table_coords' => null,
771 'table_info' => null,
772 'table_uiprefs' => null,
773 'tracking' => null,
774 'userconfig' => null,
775 'usergroups' => null,
776 'users' => null,
777 'bookmarkwork' => false,
778 'mimework' => false,
779 'centralcolumnswork' => false,
780 'commwork' => false,
781 'menuswork' => false,
782 'designersettingswork' => false,
783 'displaywork' => false,
784 'exporttemplateswork' => false,
785 'favoritework' => false,
786 'navwork' => false,
787 'pdfwork' => false,
788 'recentwork' => false,
789 'relwork' => false,
790 'savedsearcheswork' => false,
791 'historywork' => false,
792 'trackingwork' => false,
793 'uiprefswork' => false,
794 'userconfigwork' => false,
795 'allworks' => false,