public function testGetConfigKeysWithAllKeys() { $this->baseConfig->set(Config::FACTORY_IN_CLASS, 'My\\Class'); $this->configFile->getConfig()->set(Config::PULI_DIR, 'my-puli-dir'); $this->configFile->getConfig()->set(Config::FACTORY_IN_FILE, '{$puli-dir}/MyFactory.php'); $values = $this->manager->getConfigKeys(false, true); $this->assertSame(Config::getKeys(), array_keys($values)); $this->assertSame('my-puli-dir', $values[Config::PULI_DIR]); $this->assertSame('{$puli-dir}/MyFactory.php', $values[Config::FACTORY_IN_FILE]); $this->assertNull($values[Config::REPOSITORY_PATH]); $this->assertNull($values[Config::FACTORY_AUTO_GENERATE]); }
/** * {@inheritdoc} */ public function getConfigKeys($includeFallback = false, $includeUnset = false, $raw = true) { Assert::boolean($includeFallback, 'The argument $includeFallback must be a boolean.'); Assert::boolean($includeUnset, 'The argument $includeUnset must be a boolean.'); $values = $raw ? $this->getConfig()->toFlatRawArray($includeFallback) : $this->getConfig()->toFlatArray($includeFallback); // Reorder the returned values $keysInDefaultOrder = Config::getKeys(); $defaultValues = array_fill_keys($keysInDefaultOrder, null); if (!$includeUnset) { $defaultValues = array_intersect_key($defaultValues, $values); } return array_replace($defaultValues, $values); }