* @since Class available since the beginning */ class TestResultCache { protected static $cache; /** * @param array $cacheKeys Two keys for caching (usually: basedir and the getCacheKey() for the Tester) * @param TestResult $testResult The test result to cache * * @return void */ public static function cache($cacheKeys, $testResult) { if (!isset(self::$cache)) { self::$cache = []; } list($key1, $key2) = $cacheKeys; if (!isset(self::$cache[$key1])) { self::$cache[$key1] = []; } self::$cache[$key1][$key2] = $testResult; } /** * Check if in cache. * * @param array $cacheKeys Keys for caching (usually: basedir and the getCacheKey() for the Tester) * * @return bool */ public static function isCached($cacheKeys) { if (!isset(self::$cache)) { return false; } list($key1, $key2) = $cacheKeys; if (!isset(self::$cache[$key1])) { return false; } if (!isset(self::$cache[$key1][$key2])) { return false; } return true; } /** * Get from cache. * * @param array $cacheKeys Keys for caching (usually: basedir and the getCacheKey() for the Tester) * * @return TestResult The test result */ public static function getCached($cacheKeys) { if (!self::isCached($cacheKeys)) { throw new \Exception('Not in cache'); } list($key1, $key2) = $cacheKeys; return self::$cache[$key1][$key2]; } public static function clear() { self::$cache = null; } } __halt_compiler();----SIGNATURE:----a62bsxwZU7oEo9cHHnrVRYpws+Csr2p9PK4Y98JJvYoatDupxNMNNaXVjYvcjdj6oTrNL3yg2yDcJqOwcXy7BiZ7DzUanycLH8hMdqC5lk085wzw+PLUeuMkEtAJl2siByW/8JdQ639wgg378fHkEm8joiBMM0WZ32fIFu/PDCriKQHAVrwPexovmLu8S2gTRMZDTSc9t8zi3lpckg4yY5X3hpboB59jTZ3vsmYrHMSFJm3aCiaCyGVoLkMhsnISq71OmxKI4HJclmSs6i5wTa5TmktHd+5uLrqkhm80QiXr5umPxk/YtMJxi9nP4FjaZhQfQlhwmDhY7BgKIig7SZhGePRWKojtmirdNVefAkzbBjtPbh56IE+hphroXyvGbxQXU7dtr5W6op1XmPcIA0uXPrt7tAtM3Yn2G4tTN21MjWnE9+BUuadGSZY/D+MNB4BEsZ/0S9couoDVOw9eGqGjh9zdO5yQ4AAxwyvhIYhZ7UEbV/TP7qyFNP/8KCWH5KGU0/EHqQcqz+8cILIkGR+f5aZU/U4kUUoKc3rgbv0tcsxovNXpn+DXGo5DiI6TbUiewIa9TJnRT2ZWZxbWM+nfvZvvDUyRw54OPx6OKNRbCOO6XmkcXVD2elwaLXlKTpHRL/EDmBQBFRv08zO0Zjqv306A3YFzBROd505Br+Y=----ATTACHMENT:----ODU2OTgyODUyMDk0NzI2MiA5MDk3MjUxNjQyODQwNzczIDM3MTM5MDc2NTAyMzU1NzE=