public function testNamespaceCache() { $namespace = 'namespace' . mt_rand(); $in_request_cache = new PhutilInRequestKeyValueCache(); $cache = new PhutilKeyValueCacheNamespace($in_request_cache); $cache->setNamespace($namespace); $test_info = get_class($cache); $keys = array('key1' => mt_rand(), 'key2' => '', 'key3' => 'Phabricator'); $cache->setKeys($keys); $cached_keys = $in_request_cache->getAllKeys(); foreach ($keys as $key => $value) { $cached_key = $namespace . ':' . $key; $this->assertTrue(isset($cached_keys[$cached_key]), $test_info); $this->assertEqual($value, $cached_keys[$cached_key], $test_info); } $cache->destroyCache(); $this->doCacheTest($cache); $cache->destroyCache(); }
private static function addNamespaceToCaches(array $caches) { $namespace = self::getNamespace(); if (!$namespace) { return $caches; } foreach ($caches as $key => $cache) { $ncache = new PhutilKeyValueCacheNamespace($cache); $ncache->setNamespace($namespace); $caches[$key] = $ncache; } return $caches; }