diff --git a/skills/baoyu-markdown-to-html/scripts/vendor/baoyu-md/src/renderer.test.ts b/skills/baoyu-markdown-to-html/scripts/vendor/baoyu-md/src/renderer.test.ts
new file mode 100644
index 0000000..57e7a08
--- /dev/null
+++ b/skills/baoyu-markdown-to-html/scripts/vendor/baoyu-md/src/renderer.test.ts
@@ -0,0 +1,36 @@
+import assert from "node:assert/strict";
+import test from "node:test";
+
+import { initRenderer, renderMarkdown } from "./renderer.ts";
+
+const render = (md: string) => {
+ const r = initRenderer();
+ return renderMarkdown(md, r).html;
+};
+
+test("bold with inline code (no underscore)", () => {
+ const html = render("**算出 `logits`,算出 `loss`。**");
+ assert.match(html, /]*>logits<\/code>/);
+ assert.match(html, /]*>loss<\/code>/);
+});
+
+test("bold with inline code (contains underscore)", () => {
+ const html = render("**变成 `input_ids`。**");
+ assert.match(html, /]*>input_ids<\/code>/);
+});
+
+test("emphasis with inline code", () => {
+ const html = render("*查看 `hidden_states`*");
+ assert.match(html, /]*>hidden_states<\/code>/);
+});
+
+test("plain inline code (regression)", () => {
+ const html = render("`lm_head`");
+ assert.match(html, /]*>lm_head<\/code>/);
+});
+
+test("bold without code (regression)", () => {
+ const html = render("**纯粗体文本**");
+ assert.match(html, /]*>纯粗体文本<\/strong>/);
+ assert.doesNotMatch(html, / {
if (node.type === "text") return node.value;
+ if (node.type === "inlineCode") return `\`${node.value}\``;
if (node.children) return node.children.map(extractText).join("");
return "";
};