From f9a50b3fb2c4962a78b0cebd2130bb487076e6a8 Mon Sep 17 00:00:00 2001 From: metaphorics <152830360+metaphorics@users.noreply.github.com> Date: Thu, 30 Jul 2026 04:09:15 +0900 Subject: [PATCH] test(ai): prove Anthropic stream rejection --- packages/ai/test/anthropic-client.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/ai/test/anthropic-client.test.ts b/packages/ai/test/anthropic-client.test.ts index a0f24d368..4670d455a 100644 --- a/packages/ai/test/anthropic-client.test.ts +++ b/packages/ai/test/anthropic-client.test.ts @@ -421,11 +421,13 @@ describe("AnthropicMessagesClient retry-after cap", () => { completeTextWithIncompletePrefix.set(completeText); completeTextWithIncompletePrefix.set([0xe2, 0x82], completeText.byteLength); let response: Response | undefined; + let pullErrored = false; const rejectedBody = new ReadableStream({ start(streamController) { streamController.enqueue(completeTextWithIncompletePrefix); }, pull(streamController) { + pullErrored = true; streamController.error(new Error("socket closed")); }, }); @@ -447,6 +449,7 @@ describe("AnthropicMessagesClient retry-after cap", () => { expect(error.message).toBe("502 complete text"); expect(error.message).not.toContain("\uFFFD"); expect(response?.body?.locked).toBe(false); + expect(pullErrored).toBe(true); }); it("does not flush an incomplete UTF-8 prefix when the error body times out", async () => {