




















@@ -5,6 +5,7 @@ import os from "node:os";
55import path from "node:path";
66import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
77import { withEnvAsync } from "../test-utils/env.js";
8+import { decodeStrictBase64 } from "./subagent-attachments.js";
89import {
910createSubagentSpawnTestConfig,
1011loadSubagentSpawnModuleForTest,
@@ -33,50 +34,42 @@ describe("decodeStrictBase64", () => {
3334const maxBytes = 1024;
34353536it("valid base64 returns buffer with correct bytes", () => {
36-const { decodeStrictBase64 } = subagentSpawnModule;
3737const input = "hello world";
3838const encoded = Buffer.from(input).toString("base64");
3939const result = decodeStrictBase64(encoded, maxBytes);
4040expect(result?.toString("utf8")).toBe(input);
4141});
42424343it("empty string returns null", () => {
44-const { decodeStrictBase64 } = subagentSpawnModule;
4544expect(decodeStrictBase64("", maxBytes)).toBeNull();
4645});
47464847it("bad padding (length % 4 !== 0) returns null", () => {
49-const { decodeStrictBase64 } = subagentSpawnModule;
5048expect(decodeStrictBase64("abc", maxBytes)).toBeNull();
5149});
52505351it("non-base64 chars returns null", () => {
54-const { decodeStrictBase64 } = subagentSpawnModule;
5552expect(decodeStrictBase64("!@#$", maxBytes)).toBeNull();
5653});
57545855it("whitespace-only returns null (empty after strip)", () => {
59-const { decodeStrictBase64 } = subagentSpawnModule;
6056expect(decodeStrictBase64(" ", maxBytes)).toBeNull();
6157});
62586359it("pre-decode oversize guard: encoded string > maxEncodedBytes * 2 returns null", () => {
64-const { decodeStrictBase64 } = subagentSpawnModule;
6560// Pre-decode guard rejects obviously oversized payloads before allocating
6661// the decoded buffer.
6762const oversized = "A".repeat(2737);
6863expect(decodeStrictBase64(oversized, maxBytes)).toBeNull();
6964});
70657166it("decoded byteLength exceeds maxDecodedBytes returns null", () => {
72-const { decodeStrictBase64 } = subagentSpawnModule;
7367const bigBuf = Buffer.alloc(1025, 0x42);
7468const encoded = bigBuf.toString("base64");
7569expect(decodeStrictBase64(encoded, maxBytes)).toBeNull();
7670});
77717872it("valid base64 at exact boundary returns Buffer", () => {
79-const { decodeStrictBase64 } = subagentSpawnModule;
8073const exactBuf = Buffer.alloc(1024, 0x41);
8174const encoded = exactBuf.toString("base64");
8275const result = decodeStrictBase64(encoded, maxBytes);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。