mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-08-03 19:12:04 +08:00
fix(ui): 修复 Skills 管理与模型配置交互展示问题 (#4323)
* fix(ui): improve skills and provider interactions * fix(skills): keep repo manager available on skills.sh * test(skills): cover repo switch after refresh * fix(skills): keep refresh available for empty repo results --------- Co-authored-by: thisTom <19346741+thisTom@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
const SELECT_TSX = path.resolve(
|
||||
__dirname,
|
||||
"..",
|
||||
"..",
|
||||
"src",
|
||||
"components",
|
||||
"ui",
|
||||
"select.tsx",
|
||||
);
|
||||
|
||||
const stripComments = (source: string) =>
|
||||
source.replace(/\/\*[\s\S]*?\*\//g, "").replace(/(^|[^:])\/\/.*$/gm, "$1");
|
||||
|
||||
describe("SelectItem indicator structure", () => {
|
||||
const source = stripComments(fs.readFileSync(SELECT_TSX, "utf8"));
|
||||
|
||||
it("renders an item indicator before item text", () => {
|
||||
const indicatorIndex = source.indexOf("SelectPrimitive.ItemIndicator");
|
||||
const itemTextIndex = source.indexOf("SelectPrimitive.ItemText");
|
||||
|
||||
expect(indicatorIndex).toBeGreaterThan(-1);
|
||||
expect(itemTextIndex).toBeGreaterThan(-1);
|
||||
expect(indicatorIndex).toBeLessThan(itemTextIndex);
|
||||
});
|
||||
|
||||
it("wraps the indicator in the first direct span", () => {
|
||||
const itemTextIndex = source.indexOf("SelectPrimitive.ItemText");
|
||||
const beforeItemText = source.slice(0, itemTextIndex);
|
||||
const lastSpanOpen = beforeItemText.lastIndexOf("<span");
|
||||
const lastIndicator = beforeItemText.lastIndexOf("ItemIndicator");
|
||||
|
||||
expect(lastSpanOpen).toBeGreaterThan(-1);
|
||||
expect(lastSpanOpen).toBeLessThan(lastIndicator);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user