ReMe/reme_studio/tests/tab-close.test.mjs
jinliyl ef3f99f019
refactor(packaging): reorganize published packages (#495)
* refactor(packaging): reorganize published packages

* fix(packaging): install AgentScope extra in wheel smoke

* docs: align package guides and documentation site

* ci(workflow): add core dependency verification step in Python package build

- Add a workflow step to verify released core dependencies by installing the wheel with core extras
- Assert the presence of the static index.html file to ensure proper package contents
- Create and use a temporary virtual environment for isolation during verification
- Keep existing artifacts upload step intact and conditional on inputs.upload_artifacts flag

* fix(ci): update package installation dependencies in Windows workflow

- Change pip install from editable reme_studio and core to only dev and as extras
- Remove installation of reme_studio and core to streamline dependency setup
- Ensure Windows CI uses the correct extras for testing environment

* fix(tests): add missing commas in toml file reads in package version tests

- Added trailing commas in the tomllib.loads calls for auto-fin and daily_paper configs
- Ensured consistent syntax to prevent potential tuple misinterpretation
- Improved readability and correctness of the test setup code

* fix(packaging): protect qwenpaw releases and test Studio health
2026-08-27 14:02:09 +08:00

32 lines
859 B
JavaScript

import assert from "node:assert/strict";
import test from "node:test";
import { hasUnsavedChanges, unsavedTabsClosedBy } from "../app/tab-close.ts";
const saved = {
id: "file:saved.md",
type: "markdown",
title: "saved.md",
path: "saved.md",
content: "saved",
savedContent: "saved",
};
const draft = {
...saved,
id: "file:draft.md",
path: "draft.md",
content: "unsaved draft",
};
const otherDraft = {
...draft,
id: "file:other.md",
path: "other.md",
};
test("tab close protection identifies only drafts that would be discarded", () => {
const tabs = [saved, draft, otherDraft];
assert.equal(hasUnsavedChanges(saved), false);
assert.equal(hasUnsavedChanges(draft), true);
assert.deepEqual(unsavedTabsClosedBy(tabs, draft.id, false), [draft]);
assert.deepEqual(unsavedTabsClosedBy(tabs, draft.id, true), [otherDraft]);
});