/**
     * Test for ConfigFile::setAllowedKeys
     *
     * @return void
     * @test
     */
    public function testAllowedKeys()
    {
        /**
         * Case 1: filter should not allow to set b
         */
        $this->object->setAllowedKeys(array('a', 'c'));
        $this->object->set('a', 1);
        $this->object->set('b', 2);
        $this->object->set('c', 3);

        $this->assertEquals(
            array('a' => 1, 'c' => 3),
            $this->object->getConfig()
        );


        /**
         * Case 2: disabling filter should allow to set b
         */
        $this->object->setAllowedKeys(null);
        $this->object->set('b', 2);

        $this->assertEquals(
            array('a' => 1, 'b' => 2, 'c' => 3),
            $this->object->getConfig()
        );
    }
/**
 * Common initialization for user preferences modification pages
 *
 * @param ConfigFile $cf Config file instance
 *
 * @return void
 */
function PMA_userprefsPageInit(ConfigFile $cf)
{
    $forms_all_keys = PMA_readUserprefsFieldNames($GLOBALS['forms']);
    $cf->resetConfigData();
    // start with a clean instance
    $cf->setAllowedKeys($forms_all_keys);
    $cf->setCfgUpdateReadMapping(array('Server/hide_db' => 'Servers/1/hide_db', 'Server/only_db' => 'Servers/1/only_db'));
    $cf->updateWithGlobalConfig($GLOBALS['cfg']);
}