Config fixings

- Delete now really overwrites static default/setting.config.php keys
- Delete now really overwrites static default/setting.config.php categories
- The Update::check() routine is added to different places
- Merge the given config file with the new config before writing
- Remove ConfigTransaction::get() because it's no more reliable
This commit is contained in:
Philipp 2023-01-06 01:02:47 +01:00
parent cdd57275eb
commit 5aa8e8adf1
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
13 changed files with 221 additions and 181 deletions

View file

@ -54,10 +54,6 @@ class ConfigTransactionTest extends MockedTest
$config->set('delete', 'keyDel', 'catDel');
$configTransaction = new ConfigTransaction($config);
self::assertEquals('value1', $configTransaction->get('config', 'key1'));
self::assertEquals('value2', $configTransaction->get('system', 'key2'));
self::assertEquals('valueDel', $configTransaction->get('system', 'keyDel'));
self::assertEquals('catDel', $configTransaction->get('delete', 'keyDel'));
// the config file knows it as well immediately
$tempData = include $this->root->url() . '/config/' . ConfigFileManager::CONFIG_DATA_FILE;
self::assertEquals('value1', $tempData['config']['key1'] ?? null);
@ -77,11 +73,6 @@ class ConfigTransactionTest extends MockedTest
self::assertEquals('value1', $config->get('config', 'key1'));
self::assertEquals('valueDel', $config->get('system', 'keyDel'));
self::assertEquals('catDel', $config->get('delete', 'keyDel'));
// but the transaction config of course knows it
self::assertEquals('value3', $configTransaction->get('transaction', 'key3'));
self::assertEquals('changedValue1', $configTransaction->get('config', 'key1'));
self::assertNull($configTransaction->get('system', 'keyDel'));
self::assertNull($configTransaction->get('delete', 'keyDel'));
// The config file still doesn't know it either
$tempData = include $this->root->url() . '/config/' . ConfigFileManager::CONFIG_DATA_FILE;
self::assertEquals('value1', $tempData['config']['key1'] ?? null);
@ -97,9 +88,6 @@ class ConfigTransactionTest extends MockedTest
self::assertEquals('value3', $config->get('transaction', 'key3'));
self::assertNull($config->get('system', 'keyDel'));
self::assertNull($config->get('delete', 'keyDel'));
self::assertEquals('value3', $configTransaction->get('transaction', 'key3'));
self::assertEquals('changedValue1', $configTransaction->get('config', 'key1'));
self::assertNull($configTransaction->get('system', 'keyDel'));
$tempData = include $this->root->url() . '/config/' . ConfigFileManager::CONFIG_DATA_FILE;
self::assertEquals('changedValue1', $tempData['config']['key1'] ?? null);
self::assertEquals('value2', $tempData['system']['key2'] ?? null);