}
}
+ public function testStaleSet() {
+ $key = wfRandomString();
+ $value = wfRandomString();
+ $this->cache->set( $key, $value, 3, array( 'since' => microtime( true ) - 30 ) );
+
+ $this->assertFalse( $this->cache->get( $key ), "Stale set() value ignored" );
+ }
+
/**
* @covers WANObjectCache::getWithSetCallback()
*/
/**
* @covers WANObjectCache::touchCheckKey()
+ * @covers WANObjectCache::resetCheckKey()
* @covers WANObjectCache::getCheckKeyTime()
*/
public function testTouchKeys() {
$key = wfRandomString();
+ $priorTime = microtime( true );
+ usleep( 1 );
$t0 = $this->cache->getCheckKeyTime( $key );
- $this->assertFalse( $t0, 'Check key time is false' );
+ $this->assertGreaterThanOrEqual( $priorTime, $t0, 'Check key auto-created' );
$priorTime = microtime( true );
usleep( 1 );
$t4 = $this->cache->getCheckKeyTime( $key );
$this->assertEquals( $t3, $t4, 'Check key time did not change' );
+
+ usleep( 1 );
+ $this->cache->resetCheckKey( $key );
+ $t5 = $this->cache->getCheckKeyTime( $key );
+ $this->assertGreaterThan( $t4, $t5, 'Check key time increased' );
+
+ $t6 = $this->cache->getCheckKeyTime( $key );
+ $this->assertEquals( $t5, $t6, 'Check key time did not change' );
}
}