setLanguage(); DatabaseInterface::$instance = $this->createDatabaseInterface(); Current::$database = 'db'; Current::$table = ''; $_SERVER['SCRIPT_NAME'] = 'index.php'; Config::getInstance()->selectedServer['DisableIS'] = false; } /** * Test showGroup when group passed does not exist */ public function testShowGroupNonExistent(): void { $config = Config::getInstance(); $dbi = DatabaseInterface::getInstance(); $userPreferences = new UserPreferences( $dbi, new Relation($dbi, $config), new Template($config), $config, new Clock(), ); $object = new PageSettings($userPreferences, new ResponseRenderer()); $object->init('NonExistent'); self::assertSame('', $object->getHTML()); } /** * Test showGroup with a known group name */ #[BackupStaticProperties(true)] public function testShowGroupBrowse(): void { $config = Config::getInstance(); $dbi = DatabaseInterface::getInstance(); $userPreferences = new UserPreferences( $dbi, new Relation($dbi, $config), new Template($config), $config, new Clock(), ); $object = new PageSettings($userPreferences, new ResponseRenderer()); $object->init('Browse'); $html = $object->getHTML(); // Test some sample parts self::assertStringContainsString( '
' . '
' . '
', $html, ); self::assertStringContainsString('', $html); self::assertStringContainsString( 'data-field-validators="[{"fieldId":"MaxRows",' . '"name":"validatePositiveNumber",' . '"args":null},{"fieldId":"RepeatCells",' . '"name":"validateNonNegativeNumber",' . '"args":null},{"fieldId":"LimitChars",' . '"name":"validatePositiveNumber","args":null}]"', $html, ); self::assertStringContainsString( 'data-default-values="{"TableNavigationLinksMode":["icons"],' . '"ActionLinksMode":["both"],' . '"ShowAll":false,"MaxRows":[25],' . '"Order":["SMART"],' . '"BrowsePointerEnable":true,"BrowseMarkerEnable":true,' . '"GridEditing":["double-click"],' . '"SaveCellsAtOnce":false,"RepeatCells":"100",' . '"LimitChars":"50",' . '"RowActionLinks":["left"],' . '"RowActionLinksWithoutUnique":false,' . '"TablePrimaryKeyOrder":["NONE"],' . '"RememberSorting":true,' . '"RelationalDisplay":["K"]}"', $html, ); } /** * Test getNaviSettings */ public function testGetNaviSettings(): void { $config = Config::getInstance(); $dbi = DatabaseInterface::getInstance(); $userPreferences = new UserPreferences( $dbi, new Relation($dbi, $config), new Template($config), $config, new Clock(), ); $pageSettings = new PageSettings($userPreferences, new ResponseRenderer()); $pageSettings->init('Navi', 'pma_navigation_settings'); $html = $pageSettings->getHTML(); // Test some sample parts self::assertStringContainsString('
', $html); self::assertStringContainsString('', $html); } }