hunk.code_window:     let transition = t.getState().transition;
       expect(transition.state).toBe("loading");
       expect(transition.type).toBe("redirect");
       expect(transition.submission).toBeUndefined();
       expect(transition.location).toBe(B.location);
  
hunk.labels: keep keep keep replace keep keep keep
hunk.after_edit:     expect(transition.type).toBe("normalRedirect");
  
hunk.file_path: packages/remix-react/__tests__/transition-test.tsx
hunk.type: replace
file: import * as fs from "fs";
  import type { BinaryLike } from "crypto";
  import { createHash } from "crypto";
  
  export function getHash(source: BinaryLike): string {
    return createHash("sha256").update(source).digest("hex");
  }
  
  export async function getFileHash(file: string): Promise<string> {
    return new Promise((accept, reject) => {
      let hash = createHash("sha256");
      fs.createReadStream(file)
        .on("error", error => reject(error))
        .on("data", data => hash.update(data))
        .on("close", () => {
          accept(hash.digest("hex"));
        });
    });
  }
  