release: WRNexusJS 0.5.10

This commit is contained in:
2026-07-30 13:36:29 +05:30
parent 8fc6f15402
commit d1b0c55b53
159 changed files with 7509 additions and 604 deletions
@@ -23,9 +23,14 @@ test("Captcha browser runtime is valid JavaScript and exposes the expected lifec
expect(source).toContain("normalizeSize");
expect(source).toContain("verifyNotRobot");
expect(source).toContain("stopImmediatePropagation");
expect(source).toContain("__wireSubmitGuards");
expect(source).toContain("__wireValidateBound");
expect(source).toContain("passesSubmitGuard");
expect(source).toContain('addEventListener("submit"');
expect(source).toContain('addEventListener("wire:error"');
expect(source).toContain("state.config.resetOnError || captchaFailed");
expect(source).toContain('state.status !== "ready" && state.status !== "incorrect"');
expect(source).toContain('state.status === "incorrect") setStatus(state, "ready", "")');
expect(source).toContain("Verified response tokens are single-use");
expect(source).toContain("MutationObserver");
expect(source).toContain("new CustomEvent(name");
+16
View File
@@ -49,6 +49,22 @@ function fixture() {
}
describe("self-hosted CAPTCHA engine", () => {
test("random challenges resolve to an interactive challenge type", async () => {
const engine = createCaptchaEngine({
secret: "captcha-test-secret-with-at-least-thirty-two-characters",
store: new MemoryCaptchaStore(),
defaultType: "random",
minCompletionMs: 0,
});
const supported = new Set(["number", "alpha", "alphanumeric", "calculation", "image"]);
for (let index = 0; index < 12; index += 1) {
const challenge = await engine.create({ action: "random-check" });
expect(supported.has(challenge.type)).toBe(true);
expect(challenge.type).not.toBe("random");
}
});
test("creates, solves, and consumes a challenge and response token", async () => {
const { engine } = fixture();
const challenge = await engine.create({