1// Flags: --expose-internals --expose-gc 2'use strict'; 3require('../common'); 4const assert = require('assert'); 5const { internalBinding } = require('internal/test/binding'); 6const { WeakReference } = internalBinding('util'); 7 8let obj = { hello: 'world' }; 9const ref = new WeakReference(obj); 10assert.strictEqual(ref.get(), obj); 11 12setImmediate(() => { 13 obj = null; 14 global.gc(); 15 16 assert.strictEqual(ref.get(), undefined); 17}); 18