public function testMergeNullInMergedSettings() { $cs = new CacheSetting(); $cs->setLifeTime(1); $cs2 = new CacheSetting(); $cs2->setLifeTime(null); $cs->merge($cs2); $this->assertEquals(1, $cs->getLifeTime()); }
/** * @param \hergot\databroker\DataAdapter\DataAdapterInterface $dataAdapter * @return \hergot\databroker\Plugin\Cache\CacheSetting */ private function getSettingsForAdapter(DataAdapterInterface $dataAdapter) { $result = new Cache\CacheSetting(); $className = get_class($dataAdapter); foreach ($this->adapterCacheSettings as $mask => $cacheSetting) { $transformedMask = '@^' . str_replace('\\*', '.*', preg_quote($mask, '@')) . '$@'; if (preg_match($transformedMask, $className)) { $result->merge($cacheSetting); } } return $result; }