( cache: TtlCache<K, V>, entries: [key: K, value: V | typeof UNSET][], )
| 7 | |
| 8 | // check `has()`, `get()`, `forEach()` |
| 9 | function assertEntries<K, V>( |
| 10 | cache: TtlCache<K, V>, |
| 11 | entries: [key: K, value: V | typeof UNSET][], |
| 12 | ) { |
| 13 | for (const [key, value] of entries) { |
| 14 | assertEquals(cache.has(key), value !== UNSET); |
| 15 | assertEquals(cache.get(key), value === UNSET ? undefined : value); |
| 16 | } |
| 17 | |
| 18 | cache.forEach((v, k) => assertEquals(v, entries.find(([x]) => x === k)![1])); |
| 19 | assertContentfulEntries( |
| 20 | cache as TtlCache<K, V | typeof UNSET>, |
| 21 | entries.filter(([, v]) => v !== UNSET), |
| 22 | ); |
| 23 | } |
| 24 | |
| 25 | // check `size`, `entries()`, `keys()`, `values()`, `[Symbol.iterator]()` |
| 26 | function assertContentfulEntries<K, V>( |
no test coverage detected