hunk.code_window: interface Transition {
     sources: Set<Signal<any>>;
     effects: Computation<any>[];
     promises: Set<Promise<any>>;
     running: boolean;
   }
   export function createRoot<T>(fn: (dispose: () => void) => T, detachedOwner?: Owner): T {
     detachedOwner && (Owner = detachedOwner);
  
hunk.labels: keep keep keep keep add keep keep keep keep keep
hunk.after_edit:   disposed: Set<Computation<any>>;
  
hunk.file_path: packages/solid/src/reactive/signal.ts
hunk.type: add
file: import { createRoot } from "../../src";
  import { ErrorBoundary } from "../src";
  
  describe("Testing ErrorBoundary control flow", () => {
    let div: HTMLDivElement, disposer: () => void;
  
    const Component = () => {
      throw new Error("Failure");
    };
  
    test("Create an Error", () => {
      createRoot(dispose => {
        disposer = dispose;
        <div ref={div}><ErrorBoundary fallback="Failed Miserably"><Component /></ErrorBoundary></div>;
      });
      expect(div.innerHTML).toBe("Failed Miserably");
    });
  
    test("Create an Error callback", () => {
      createRoot(dispose => {
        disposer = dispose;
        <div ref={div}><ErrorBoundary fallback={e => e.message}><Component /></ErrorBoundary></div>;
      });
      expect(div.innerHTML).toBe("Failure");
    });
  
    test("dispose", () => disposer());
  });
  