testLoadWithoutSyntheticModuleOverhead_MarksSyntheticModulesAsLoaded() {
    const mm = getModuleManager({'sy0': [], 'a': [], 'b': ['sy0', 'a']});
    const loader = createExcludingSyntheticModuleOverheadLoader(
        mm, /* modulesToMarkAsLoaded= */['a', 'b']);
    mm.setLoader(loader);

    let calledBack = false;
    let error = null;

    const d = mm.load('a');
    d.then(
        (ctx) => {
          calledBack = true;
        },
        (err) => {
          error = err;
        });

    assertFalse(calledBack);
    assertNull(error);
    assertFalse(mm.isUserActive());
    assertFalse(loader.syntheticModuleCallbackCalled);
    assertFalse(mm.getModuleInfo('sy0').isLoaded());
    assertFalse(mm.getModuleInfo('a').isLoaded());
    assertFalse(mm.getModuleInfo('b').isLoaded());

    clock.tick(5);

    assertTrue(calledBack);
    assertNull(error);
    assertTrue(loader.syntheticModuleCallbackCalled);
    assertTrue(mm.getModuleInfo('sy0').isLoaded());
    assertTrue(mm.getModuleInfo('a').isLoaded());
    assertTrue(mm.getModuleInfo('b').isLoaded());
  }
Same as testLoadWithoutSyntheticModuleOverhead, but this time we load
module info to simulate positive module loading, where the manager is aware
of synthetic modules.