it("rejects invalid date ranges for Brave", () => {
expect(normalizeFreshness("2024-13-01to2024-01-31", "brave")).toBeUndefined();
expect(normalizeFreshness("2024-02-30to2024-03-01", "brave")).toBeUndefined();
expect(normalizeFreshness("2024-03-10to2024-03-01", "brave")).toBeUndefined();
});
});
describe("web_search date normalization", () => {
it("accepts ISO format", () => {
expect(normalizeToIsoDate("2024-01-15")).toBe("2024-01-15");
expect(normalizeToIsoDate("2025-12-31")).toBe("2025-12-31");
});
it("accepts Perplexity format and converts to ISO", () => {
expect(normalizeToIsoDate("1/15/2024")).toBe("2024-01-15");
expect(normalizeToIsoDate("12/31/2025")).toBe("2025-12-31");
});
describe("web_search unsupported filter response", () => {
it("returns undefined when no unsupported filter is set", () => {
expect(buildUnsupportedSearchFilterResponse({ query: "openclaw" }, "gemini")).toBeUndefined();
});
it("maps non-date filters to provider-specific unsupported errors", () => {
expect(buildUnsupportedSearchFilterResponse({ country: "us" }, "grok")).toEqual({
error: "unsupported_country",
message: "country filtering is not supported by the grok provider. Only Brave and Perplexity support country filtering.",
docs: "https://docs.openclaw.ai/tools/web",
});
});
it("collapses date filters to unsupported_date_filter", () => {
expect(buildUnsupportedSearchFilterResponse({ date_before: "2026-03-19" }, "kimi")).toEqual({
error: "unsupported_date_filter",
message: "date_after/date_before filtering is not supported by the kimi provider. Only Brave and Perplexity support date filtering.",
docs: "https://docs.openclaw.ai/tools/web",
});
});
});
describe("web_search scoped config merge", () => {
it("returns the original config when no plugin config exists", () => { const searchConfig = { provider: "grok", grok: { model: "grok-4-1-fast" } };
expect(mergeScopedSearchConfig(searchConfig, "grok", undefined)).toBe(searchConfig);
});
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.