public function testCacheIncrementDecrementWithConditions() {
$config = array('default' => array(
'adapter' => 'Memory', 'filters' => array()
));
Cache::config($config);
$result = Cache::config();
$expected = $config;
$this->assertEqual($expected, $result);
$conditions = function() {
return false;
};
$result = Cache::increment('default', 'some_key', 1, compact('conditions'));
$this->assertFalse($result);
$conditions = function() use (&$config) {
return (isset($config['default']));
};
Cache::write('default', 'some_key', 1, '+1 minute');
$result = Cache::increment('default', 'some_key', 1, compact('conditions'));
$this->assertEqual(2, $result);
$conditions = function() {
return false;
};
$result = Cache::decrement('default', 'decrement_some_key', 1, compact('conditions'));
$this->assertFalse($result);
$conditions = function() use (&$config) {
return (isset($config['default']));
};
Cache::write('default', 'decrement_some_key', 1, '+1 minute');
$result = Cache::decrement('default', 'decrement_some_key', 1, compact('conditions'));
$this->assertEqual(0, $result);
}