. * */ namespace Test\Cache; use Test\TestCase; class FileGlobalGC extends TestCase { /** * @var string */ private $cacheDir; /** * @var \OC\Cache\FileGlobalGC */ private $gc; public function setUp() { $this->cacheDir = \OC::$server->getTempManager()->getTemporaryFolder(); $this->gc = new \OC\Cache\FileGlobalGC(); } private function addCacheFile($name, $expire) { file_put_contents($this->cacheDir . $name, 'foo'); touch($this->cacheDir . $name, $expire); } public function testGetExpiredEmpty() { $this->assertEquals([], $this->gc->getExpiredPaths($this->cacheDir, time())); } public function testGetExpiredNone() { $time = time(); $this->addCacheFile('foo', $time + 10); $this->assertEquals([], $this->gc->getExpiredPaths($this->cacheDir, $time)); } public function testGetExpired() { $time = time(); $this->addCacheFile('foo', $time + 10); $this->addCacheFile('bar', $time); $this->addCacheFile('bar2', $time - 10); $this->addCacheFile('asd', $time - 100); $this->assertEquals([$this->cacheDir . 'asd', $this->cacheDir . 'bar2'], $this->gc->getExpiredPaths($this->cacheDir, $time)); } public function testGetExpiredDirectory() { $time = time(); $this->addCacheFile('foo', $time - 10); mkdir($this->cacheDir . 'asd'); $this->assertEquals([$this->cacheDir . 'foo'], $this->gc->getExpiredPaths($this->cacheDir, $time)); } }