<?php
|
|
class CacheTest extends PHPUnit_Framework_TestCase {
|
|
|
|
public function testCreateFromConfig() {
|
|
p3k\Cache::redis('tcp://127.0.0.1:6379');
|
|
p3k\Cache::set('foo', 'bar');
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
p3k\Cache::reset();
|
|
}
|
|
|
|
public function testAutoCreate() {
|
|
p3k\Cache::set('foo', 'bar');
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
p3k\Cache::reset();
|
|
}
|
|
|
|
public function testSet() {
|
|
p3k\Cache::set('foo', 'bar', 0);
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
$redis = p3k\Cache::redis();
|
|
$this->assertEquals(-1, $redis->ttl('foo'));
|
|
}
|
|
|
|
public function testSetEx() {
|
|
p3k\Cache::set('foo', 'bar', 600);
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
$redis = p3k\Cache::redis();
|
|
$this->assertGreaterThan(500, $redis->ttl('foo'));
|
|
}
|
|
|
|
public function testGetExpired() {
|
|
p3k\Cache::set('foo', 'bar', 1);
|
|
usleep(1100000);
|
|
$this->assertEquals('default', p3k\Cache::get('foo', 'default'));
|
|
}
|
|
|
|
public function testDelete() {
|
|
p3k\Cache::set('foo', 'bar', 600);
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
p3k\Cache::delete('foo');
|
|
$this->assertEquals('default', p3k\Cache::get('foo', 'default'));
|
|
}
|
|
|
|
public function testExpire() {
|
|
p3k\Cache::set('foo', 'bar', 600);
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
p3k\Cache::expire('foo');
|
|
$this->assertEquals('default', p3k\Cache::get('foo', 'default'));
|
|
|
|
p3k\Cache::set('foo', 'bar', 600);
|
|
$this->assertEquals('bar', p3k\Cache::get('foo'));
|
|
p3k\Cache::expire('foo', 1);
|
|
usleep(1100000);
|
|
$this->assertEquals('default', p3k\Cache::get('foo', 'default'));
|
|
}
|
|
|
|
public function testIncr() {
|
|
p3k\Cache::delete('test1');
|
|
p3k\Cache::incr('test1');
|
|
$this->assertEquals(1, p3k\Cache::get('test1'));
|
|
|
|
p3k\Cache::set('test2', 10);
|
|
p3k\Cache::incr('test2');
|
|
$this->assertEquals(11, p3k\Cache::get('test2'));
|
|
|
|
p3k\Cache::set('test3', 10);
|
|
p3k\Cache::incr('test3', 4);
|
|
$this->assertEquals(14, p3k\Cache::get('test3'));
|
|
}
|
|
|
|
public function testDecr() {
|
|
p3k\Cache::delete('test4');
|
|
p3k\Cache::decr('test4');
|
|
$this->assertEquals(-1, p3k\Cache::get('test4'));
|
|
|
|
p3k\Cache::set('test5', 10);
|
|
p3k\Cache::decr('test5');
|
|
$this->assertEquals(9, p3k\Cache::get('test5'));
|
|
|
|
p3k\Cache::set('test6', 10);
|
|
p3k\Cache::decr('test6', 4);
|
|
$this->assertEquals(6, p3k\Cache::get('test6'));
|
|
}
|
|
|
|
}
|