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);
}