function testUseDifferentCacheConfig()
{
Cache::config('cacheTest', array('engine' => 'File', 'duration' => '+20 minutes', 'path' => CACHE, 'prefix' => 'different_file_engine_'));
$this->CacheData->Behaviors->attach('Cacher.Cache', array('clearOnDelete' => false, 'config' => 'cacheTest'));
$results = $this->CacheData->find('all', array('conditions' => array('CacheData.name LIKE' => '%cache%')));
$results = Set::extract('/CacheData/name', $results);
$expected = array('A Cached Thing', 'Cache behavior');
$this->assertEquals($results, $expected);
// test that it's pulling from the cache
$this->CacheData->delete(1);
$results = $this->CacheData->find('all', array('conditions' => array('CacheData.name LIKE' => '%cache%')));
$results = Set::extract('/CacheData/name', $results);
$expected = array('A Cached Thing', 'Cache behavior');
$this->assertEquals($results, $expected);
$ds = ConnectionManager::getDataSource('cacher');
$this->assertEquals($ds->config['config'], 'cacheTest');
$map = Cache::read('map', 'cacheTest');
$this->assertTrue($map !== false);
$this->assertTrue(isset($map[$ds->source->configKeyName][$this->CacheData->alias][0]));
$cache = Cache::read($map[$ds->source->configKeyName][$this->CacheData->alias][0], 'cacheTest');
$this->assertTrue($cache !== false);
Cache::clear(false, 'cacheTest');
}