@fedify/fedify
Version:
An ActivityPub server framework
44 lines (40 loc) • 2.17 kB
JavaScript
import { Temporal } from "@js-temporal/polyfill";
import { URLPattern } from "urlpattern-polyfill";
globalThis.addEventListener = () => {};
import { assertEquals } from "../assert_equals-CTYbeopb.js";
import { assert } from "../assert-DmFG7ppO.js";
import { UrlError, expandIPv6Address, isValidPublicIPv4Address, isValidPublicIPv6Address, validatePublicUrl } from "../url-kTAI6_KP.js";
import { test } from "../testing-BZ0dJ4qn.js";
import { assertFalse, assertRejects } from "../assert_rejects-C-sxEMM5.js";
import "../assert_is_error-nrwA1GeT.js";
//#region runtime/url.test.ts
test("validatePublicUrl()", async () => {
await assertRejects(() => validatePublicUrl("ftp://localhost"), UrlError);
await assertRejects(() => validatePublicUrl("data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="), UrlError);
await assertRejects(() => validatePublicUrl("https://localhost"), UrlError);
await assertRejects(() => validatePublicUrl("https://127.0.0.1"), UrlError);
await assertRejects(() => validatePublicUrl("https://[::1]"), UrlError);
});
test("isValidPublicIPv4Address()", () => {
assert(isValidPublicIPv4Address("8.8.8.8"));
assertFalse(isValidPublicIPv4Address("192.168.1.1"));
assertFalse(isValidPublicIPv4Address("127.0.0.1"));
assertFalse(isValidPublicIPv4Address("10.0.0.1"));
assertFalse(isValidPublicIPv4Address("127.16.0.1"));
assertFalse(isValidPublicIPv4Address("169.254.0.1"));
});
test("isValidPublicIPv6Address()", () => {
assert(isValidPublicIPv6Address("2001:db8::1"));
assertFalse(isValidPublicIPv6Address("::1"));
assertFalse(isValidPublicIPv6Address("fc00::1"));
assertFalse(isValidPublicIPv6Address("fe80::1"));
assertFalse(isValidPublicIPv6Address("ff00::1"));
assertFalse(isValidPublicIPv6Address("::"));
});
test("expandIPv6Address()", () => {
assertEquals(expandIPv6Address("::"), "0000:0000:0000:0000:0000:0000:0000:0000");
assertEquals(expandIPv6Address("::1"), "0000:0000:0000:0000:0000:0000:0000:0001");
assertEquals(expandIPv6Address("2001:db8::"), "2001:0db8:0000:0000:0000:0000:0000:0000");
assertEquals(expandIPv6Address("2001:db8::1"), "2001:0db8:0000:0000:0000:0000:0000:0001");
});
//#endregion