public function testCallsCallableIfNotStaleContentAvailableToServe() { $cache = new Cache(new MockStore()); $noStaleCacheEvent = false; $cache->onNoStaleCache(function (NoStaleCacheEvent $event) use(&$noStaleCacheEvent) { $noStaleCacheEvent = $event; }); $key = 'maxi11'; $value = 'Maxi\\s goal with Mexico in 2006 was truly brilliant.'; $ttl = 30; // simulate lock (other process generating content) $cache->getLockManager()->acquire($key, 30); $cache->cache($key, $this->createFunc($value), $ttl); $this->assertNotFalse($noStaleCacheEvent, 'NO_STALE_CACHE event not called'); $this->assertSame($key, $noStaleCacheEvent->getKey()); $this->assertSame($ttl, (int) (string) $noStaleCacheEvent->getTtl()); }