fix: 合并 main 后的测试回归修复

- index.ts: 移除 #130 遗留的 ctx.on('session/disposed')(fake ctx 无 on,
  且 #130 已按取 HEAD 决策,closeSession 调用方一并移除)
- browser.probe: 405→GET 重试后跳过 embed-signals GET,避免多余第 3 次请求(#69)
- EditorHost: 移植 #228 的 dirty 确认守卫到 HEAD 的 reloadSeq 结构(refreshFile)
- tests: fake ctx 补 get()(#357 ctx.get 回归,free-window/editor-refresh/markdown)
- tests: prefs 期望对象补 browserAllowedLoopback(smoke/plugin-shape/state)
- tests: builtins 浏览器设置行补 browserAllowedLoopback(#69)
- tests: install-powershell BOM 门限仅对实际文档化远程调用的文件生效
- locales: 19 语言补齐 showInFolder / refreshUnsavedConfirm(#94 #215 #228)
This commit is contained in:
HuanLinOTO
2026-08-24 17:54:33 +08:00
parent f4e71c1257
commit 6001f0167c
30 changed files with 77 additions and 19 deletions
+8 -1
View File
@@ -79,7 +79,14 @@ describe('PowerShell installer entry points', () => {
const source = readFileSync(resolve(ROOT, file), 'utf8')
expect(source, file).not.toMatch(new RegExp(`irm [^\\r\\n]*${INSTALLER_URL.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}[^\\r\\n]*\\|\\s*iex`, 'i'))
expect(source, file).not.toMatch(/\[scriptblock\]::Create\(\(irm\b/i)
expect(source.match(/\.TrimStart\(\[char\]0xFEFF\)/g)?.length, file).toBeGreaterThanOrEqual(2)
// Where remote invocation IS documented, it must be BOM-safe: the
// READMEs switched to the prompt-based install flow and no longer
// document `irm` at all, so the TrimStart gate applies to the script
// (whose usage comment demonstrates the safe pattern).
const documentsInvocation = /\birm\b|\$script\s*=|\[scriptblock\]/.test(source)
if (documentsInvocation) {
expect(source.match(/\.TrimStart\(\[char\]0xFEFF\)/g)?.length, file).toBeGreaterThanOrEqual(2)
}
}
})