<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script type="module">

// Keep FinalizationRegistry global to avoid it being reclaimed by garbage
// collections that may happen until the registry is processed in microtasks.
let fr;

async_test(t => {
  let called = false;
  const callback = t.step_func_done(function(holdings) {
    called = true;
    assert_equals(holdings, 'holdings',
                  'holdings should be initialized correctly');
  });

  fr = new FinalizationRegistry(callback);

  // The following is an IIFE to ensure that garbage becomes unreachable after
  // the function returns.
  (function() {
    let garbage = {};
    fr.register(garbage, 'holdings');
    garbage = null;
  })();

  assert_false(called, 'finalizer should not be called in the same turn');

  gc();

  assert_false(called, 'finalizer should not be called in the same turn');

}, 'FinalizationRegistry registers an object and calls finalizer');
</script>
