UNPKG

ox

Version:

Ethereum Standard Library

39 lines (36 loc) 954 B
import { expect, test } from 'vp/test' import { LruMap } from '../../internal/lru.js' test('default', () => { const cache = new LruMap(5) cache.set('a', 1) cache.set('b', 2) cache.set('c', 3) cache.set('d', 4) cache.set('e', 5) cache.set('f', 6) cache.set('g', 7) expect(cache.size).toBe(5) expect(cache.has('a')).toBe(false) expect(cache.has('b')).toBe(false) expect(cache.get('c')).toBe(3) expect(cache.get('d')).toBe(4) expect(cache.get('e')).toBe(5) expect(cache.get('f')).toBe(6) expect(cache.get('g')).toBe(7) }) test('update touched keys', () => { const cache = new LruMap(5) cache.set('a', 1) cache.set('b', 2) cache.set('c', 3) cache.set('d', 4) cache.set('e', 5) expect(cache.size).toBe(5) cache.get('a') cache.set('f', 6) cache.set('g', 7) expect(cache.has('a')).toBe(true) expect(cache.has('b')).toBe(false) expect(cache.has('c')).toBe(false) expect(cache.has('d')).toBe(true) })