Skip to content

Commit 3502962

Browse files
committed
fixup! test(lib/es2021): Add test for generic FinalizationRegistry
1 parent b84ccbe commit 3502962

File tree

4 files changed

+23
-68
lines changed

4 files changed

+23
-68
lines changed

tests/baselines/reference/esNextWeakRefs_IterableWeakMap.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,7 @@ export class IterableWeakMap<K extends object, V> implements WeakMap<K, V> {
6565
*entries(): Generator<[key: K, value: V], void> {
6666
for (const ref of this.#refSet) {
6767
const key = ref.deref();
68-
if (key === undefined) {
69-
this.#refSet.delete(ref);
70-
this.#finalizationGroup.unregister(ref);
71-
continue;
72-
}
68+
if (key === undefined) continue;
7369
const { value } = this.#weakMap.get(key)!;
7470
yield [key, value];
7571
}
@@ -160,11 +156,8 @@ export class IterableWeakMap {
160156
*entries() {
161157
for (const ref of this.#refSet) {
162158
const key = ref.deref();
163-
if (key === undefined) {
164-
this.#refSet.delete(ref);
165-
this.#finalizationGroup.unregister(ref);
159+
if (key === undefined)
166160
continue;
167-
}
168161
const { value } = this.#weakMap.get(key);
169162
yield [key, value];
170163
}

tests/baselines/reference/esNextWeakRefs_IterableWeakMap.symbols

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -252,28 +252,12 @@ export class IterableWeakMap<K extends object, V> implements WeakMap<K, V> {
252252
>ref : Symbol(ref, Decl(esNextWeakRefs_IterableWeakMap.ts, 64, 18))
253253
>deref : Symbol(WeakRef.deref, Decl(lib.esnext.weakref.d.ts, --, --))
254254

255-
if (key === undefined) {
255+
if (key === undefined) continue;
256256
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 65, 17))
257257
>undefined : Symbol(undefined)
258258

259-
this.#refSet.delete(ref);
260-
>this.#refSet.delete : Symbol(Set.delete, Decl(lib.es2015.collection.d.ts, --, --))
261-
>this.#refSet : Symbol(IterableWeakMap.#refSet, Decl(esNextWeakRefs_IterableWeakMap.ts, 12, 72))
262-
>this : Symbol(IterableWeakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 6, 2))
263-
>delete : Symbol(Set.delete, Decl(lib.es2015.collection.d.ts, --, --))
264-
>ref : Symbol(ref, Decl(esNextWeakRefs_IterableWeakMap.ts, 64, 18))
265-
266-
this.#finalizationGroup.unregister(ref);
267-
>this.#finalizationGroup.unregister : Symbol(FinalizationRegistry.unregister, Decl(lib.esnext.weakref.d.ts, --, --))
268-
>this.#finalizationGroup : Symbol(IterableWeakMap.#finalizationGroup, Decl(esNextWeakRefs_IterableWeakMap.ts, 13, 36))
269-
>this : Symbol(IterableWeakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 6, 2))
270-
>unregister : Symbol(FinalizationRegistry.unregister, Decl(lib.esnext.weakref.d.ts, --, --))
271-
>ref : Symbol(ref, Decl(esNextWeakRefs_IterableWeakMap.ts, 64, 18))
272-
273-
continue;
274-
}
275259
const { value } = this.#weakMap.get(key)!;
276-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 71, 19))
260+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 67, 19))
277261
>this.#weakMap.get : Symbol(WeakMap.get, Decl(lib.es2015.collection.d.ts, --, --))
278262
>this.#weakMap : Symbol(IterableWeakMap.#weakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 10, 61))
279263
>this : Symbol(IterableWeakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 6, 2))
@@ -282,31 +266,31 @@ export class IterableWeakMap<K extends object, V> implements WeakMap<K, V> {
282266

283267
yield [key, value];
284268
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 65, 17))
285-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 71, 19))
269+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 67, 19))
286270
}
287271
}
288272

289273
*keys() {
290-
>keys : Symbol(IterableWeakMap.keys, Decl(esNextWeakRefs_IterableWeakMap.ts, 74, 5))
274+
>keys : Symbol(IterableWeakMap.keys, Decl(esNextWeakRefs_IterableWeakMap.ts, 70, 5))
291275

292276
for (const { 0: key } of this) {
293-
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 77, 20))
277+
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 73, 20))
294278
>this : Symbol(IterableWeakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 6, 2))
295279

296280
yield key;
297-
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 77, 20))
281+
>key : Symbol(key, Decl(esNextWeakRefs_IterableWeakMap.ts, 73, 20))
298282
}
299283
}
300284

301285
*values() {
302-
>values : Symbol(IterableWeakMap.values, Decl(esNextWeakRefs_IterableWeakMap.ts, 80, 5))
286+
>values : Symbol(IterableWeakMap.values, Decl(esNextWeakRefs_IterableWeakMap.ts, 76, 5))
303287

304288
for (const { 1: value } of this) {
305-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 83, 20))
289+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 79, 20))
306290
>this : Symbol(IterableWeakMap, Decl(esNextWeakRefs_IterableWeakMap.ts, 6, 2))
307291

308292
yield value;
309-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 83, 20))
293+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 79, 20))
310294
}
311295
}
312296
}
@@ -320,22 +304,22 @@ Object.defineProperties(IterableWeakMap.prototype, {
320304
>prototype : Symbol(IterableWeakMap.prototype)
321305

322306
[Symbol.iterator]: {
323-
>[Symbol.iterator] : Symbol([Symbol.iterator], Decl(esNextWeakRefs_IterableWeakMap.ts, 89, 52))
307+
>[Symbol.iterator] : Symbol([Symbol.iterator], Decl(esNextWeakRefs_IterableWeakMap.ts, 85, 52))
324308
>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --))
325309
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --))
326310
>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --))
327311

328312
configurable: true,
329-
>configurable : Symbol(configurable, Decl(esNextWeakRefs_IterableWeakMap.ts, 90, 24))
313+
>configurable : Symbol(configurable, Decl(esNextWeakRefs_IterableWeakMap.ts, 86, 24))
330314

331315
enumerable: false,
332-
>enumerable : Symbol(enumerable, Decl(esNextWeakRefs_IterableWeakMap.ts, 91, 27))
316+
>enumerable : Symbol(enumerable, Decl(esNextWeakRefs_IterableWeakMap.ts, 87, 27))
333317

334318
writable: true,
335-
>writable : Symbol(writable, Decl(esNextWeakRefs_IterableWeakMap.ts, 92, 26))
319+
>writable : Symbol(writable, Decl(esNextWeakRefs_IterableWeakMap.ts, 88, 26))
336320

337321
value: Object.getOwnPropertyDescriptor(
338-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 93, 23))
322+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 89, 23))
339323
>Object.getOwnPropertyDescriptor( IterableWeakMap.prototype, "entries", )!.value : Symbol(PropertyDescriptor.value, Decl(lib.es5.d.ts, --, --))
340324
>Object.getOwnPropertyDescriptor : Symbol(ObjectConstructor.getOwnPropertyDescriptor, Decl(lib.es5.d.ts, --, --))
341325
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
@@ -352,22 +336,22 @@ Object.defineProperties(IterableWeakMap.prototype, {
352336

353337
},
354338
[Symbol.toStringTag]: {
355-
>[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(esNextWeakRefs_IterableWeakMap.ts, 98, 6))
339+
>[Symbol.toStringTag] : Symbol([Symbol.toStringTag], Decl(esNextWeakRefs_IterableWeakMap.ts, 94, 6))
356340
>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
357341
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --))
358342
>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
359343

360344
configurable: true,
361-
>configurable : Symbol(configurable, Decl(esNextWeakRefs_IterableWeakMap.ts, 99, 27))
345+
>configurable : Symbol(configurable, Decl(esNextWeakRefs_IterableWeakMap.ts, 95, 27))
362346

363347
enumerable: false,
364-
>enumerable : Symbol(enumerable, Decl(esNextWeakRefs_IterableWeakMap.ts, 100, 27))
348+
>enumerable : Symbol(enumerable, Decl(esNextWeakRefs_IterableWeakMap.ts, 96, 27))
365349

366350
writable: false,
367-
>writable : Symbol(writable, Decl(esNextWeakRefs_IterableWeakMap.ts, 101, 26))
351+
>writable : Symbol(writable, Decl(esNextWeakRefs_IterableWeakMap.ts, 97, 26))
368352

369353
value: "IterableWeakMap",
370-
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 102, 24))
354+
>value : Symbol(value, Decl(esNextWeakRefs_IterableWeakMap.ts, 98, 24))
371355

372356
},
373357
});

tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -255,29 +255,11 @@ export class IterableWeakMap<K extends object, V> implements WeakMap<K, V> {
255255
>ref : WeakRef<K>
256256
>deref : () => K | undefined
257257

258-
if (key === undefined) {
258+
if (key === undefined) continue;
259259
>key === undefined : boolean
260260
>key : K | undefined
261261
>undefined : undefined
262262

263-
this.#refSet.delete(ref);
264-
>this.#refSet.delete(ref) : boolean
265-
>this.#refSet.delete : (value: WeakRef<K>) => boolean
266-
>this.#refSet : Set<WeakRef<K>>
267-
>this : this
268-
>delete : (value: WeakRef<K>) => boolean
269-
>ref : WeakRef<K>
270-
271-
this.#finalizationGroup.unregister(ref);
272-
>this.#finalizationGroup.unregister(ref) : void
273-
>this.#finalizationGroup.unregister : (unregisterToken: object) => void
274-
>this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef<object>; readonly set: Set<WeakRef<object>>; }>
275-
>this : this
276-
>unregister : (unregisterToken: object) => void
277-
>ref : WeakRef<K>
278-
279-
continue;
280-
}
281263
const { value } = this.#weakMap.get(key)!;
282264
>value : V
283265
>this.#weakMap.get(key)! : { readonly ref: WeakRef<K>; value: V; }

tests/cases/compiler/esNextWeakRefs_IterableWeakMap.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,7 @@ export class IterableWeakMap<K extends object, V> implements WeakMap<K, V> {
6969
*entries(): Generator<[key: K, value: V], void> {
7070
for (const ref of this.#refSet) {
7171
const key = ref.deref();
72-
if (key === undefined) {
73-
this.#refSet.delete(ref);
74-
this.#finalizationGroup.unregister(ref);
75-
continue;
76-
}
72+
if (key === undefined) continue;
7773
const { value } = this.#weakMap.get(key)!;
7874
yield [key, value];
7975
}

0 commit comments

Comments
 (0)