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); sleep(1); $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); sleep(1); $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')); } }