diff --git a/packages/shared/sdk-server/__tests__/cache/LruCache.test.ts b/packages/shared/sdk-server/__tests__/cache/LruCache.test.ts index b162e02f8f..005907921f 100644 --- a/packages/shared/sdk-server/__tests__/cache/LruCache.test.ts +++ b/packages/shared/sdk-server/__tests__/cache/LruCache.test.ts @@ -46,14 +46,19 @@ it('when it has been cleared', () => { expect(lruCache.get(i.toString())).toBeUndefined(); } - // Fill the cache with integers again. + // Fill the cache with integers in a different range. for (let i = 0; i < max; i += 1) { - lruCache.set(`${i}`, i); + lruCache.set(`${i + 100}`, i); } // Check they are all there. for (let i = 0; i < max; i += 1) { - expect(lruCache.get(i.toString())).toEqual(i); + expect(lruCache.get(`${i + 100}`)).toEqual(i); + } + + // Check old keys don't associate with new values. + for (let i = 0; i < max; i += 1) { + expect(lruCache.get(i.toString())).toBeUndefined(); } }); diff --git a/packages/shared/sdk-server/src/cache/LruCache.ts b/packages/shared/sdk-server/src/cache/LruCache.ts index 11bdaa070f..7180efccca 100644 --- a/packages/shared/sdk-server/src/cache/LruCache.ts +++ b/packages/shared/sdk-server/src/cache/LruCache.ts @@ -110,6 +110,7 @@ export default class LruCache { this.keys.fill(undefined); this.next.fill(0); this.prev.fill(0); + this.keyMap.clear(); } private index() {