From 8452f2149373d4cf75b8a34e979e4bcf8cf44c96 Mon Sep 17 00:00:00 2001 From: Jeremy lewi Date: Mon, 16 Mar 2026 17:11:55 -0700 Subject: [PATCH 1/4] Preserve cell output while editing code cells Signed-off-by: Jeremy lewi --- app/src/components/Actions/Actions.test.tsx | 86 +++++++++++++++++++-- app/src/components/Actions/Actions.tsx | 16 +++- 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/app/src/components/Actions/Actions.test.tsx b/app/src/components/Actions/Actions.test.tsx index 31c65965..c1aed769 100644 --- a/app/src/components/Actions/Actions.test.tsx +++ b/app/src/components/Actions/Actions.test.tsx @@ -1,14 +1,31 @@ // @vitest-environment jsdom -import { describe, expect, it, vi } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; import { render, screen, act, fireEvent } from "@testing-library/react"; import { clone, create } from "@bufbuild/protobuf"; import React from "react"; import { APPKERNEL_RUNNER_NAME, APPKERNEL_RUNNER_LABEL } from "../../lib/runtime/appKernel"; -import { parser_pb, RunmeMetadataKey } from "../../runme/client"; +import { MimeType, parser_pb, RunmeMetadataKey } from "../../runme/client"; import type { CellData } from "../../lib/notebookData"; import { Action } from "./Actions"; +const editorMockState = vi.hoisted(() => ({ + onChangeHandlers: [] as Array<(value: string) => void>, +})); + +vi.mock("./Editor", () => ({ + default: ({ + value, + onChange, + }: { + value: string; + onChange: (value: string) => void; + }) => { + editorMockState.onChangeHandlers.push(onChange); + return