test: tighten web tool assertions · openclaw/openclaw@f7719ae
steipete
·
2026-05-09
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -30,14 +30,15 @@ describe("web_search redirect resolution hardening", () => {
|
30 | 30 | |
31 | 31 | const resolved = await resolveCitationRedirectUrl("https://example.com/start"); |
32 | 32 | expect(resolved).toBe("https://example.com/final"); |
33 | | -expect(withStrictWebToolsEndpointMock).toHaveBeenCalledWith( |
34 | | -expect.objectContaining({ |
35 | | -url: "https://example.com/start", |
36 | | -timeoutMs: 5000, |
37 | | -init: { method: "HEAD" }, |
38 | | -}), |
39 | | -expect.any(Function), |
40 | | -); |
| 33 | +expect(withStrictWebToolsEndpointMock).toHaveBeenCalledTimes(1); |
| 34 | +const [params, run] = withStrictWebToolsEndpointMock.mock.calls[0] as [ |
| 35 | +{ url?: unknown; timeoutMs?: unknown; init?: { method?: unknown } }, |
| 36 | +unknown, |
| 37 | +]; |
| 38 | +expect(params.url).toBe("https://example.com/start"); |
| 39 | +expect(params.timeoutMs).toBe(5000); |
| 40 | +expect(params.init?.method).toBe("HEAD"); |
| 41 | +expect(typeof run).toBe("function"); |
41 | 42 | }); |
42 | 43 | |
43 | 44 | it("falls back to the original URL when guarded resolution fails", async () => { |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -34,11 +34,9 @@ describe("web fetch readability", () => {
|
34 | 34 | extractMode: "text", |
35 | 35 | config: {}, |
36 | 36 | }); |
37 | | -expect(result).toMatchObject({ |
38 | | -extractor: "readability", |
39 | | -text: "extracted text", |
40 | | -title: "Extracted", |
41 | | -}); |
| 37 | +expect(result?.extractor).toBe("readability"); |
| 38 | +expect(result?.text).toBe("extracted text"); |
| 39 | +expect(result?.title).toBe("Extracted"); |
42 | 40 | }); |
43 | 41 | |
44 | 42 | it("reuses extractor resolution for repeated calls with the same config object", async () => { |
@@ -114,10 +112,8 @@ describe("web fetch readability", () => {
|
114 | 112 | extractMode: "text", |
115 | 113 | config: {}, |
116 | 114 | }); |
117 | | -expect(result).toMatchObject({ |
118 | | -extractor: "readability", |
119 | | -text: "fallback text", |
120 | | -}); |
| 115 | +expect(result?.extractor).toBe("readability"); |
| 116 | +expect(result?.text).toBe("fallback text"); |
121 | 117 | }); |
122 | 118 | |
123 | 119 | it("returns null when extractor loading throws", async () => { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。