Files
MrAlders0n 3e43cfd009 fix: follow up on last week's merges (#55-#101) (#102)
Bugs: clear compare params on tab change, recover channel live messages after a 429,
observer copy link keeps only region params, route table no longer navigates on region
change with nothing selected, map borders memo on data identity, live overview can't
resurrect a failed query, French relative times, no language write on first visit,
0/0 node locations hidden outside the map, path/signal stats use the shared retry rule.

i18n: node/packet/mesh/observer strings that were still hardcoded after #62.

Cleanup: formatUtc, ACTION_BUTTON_CLASS, observer-stats, useWindowedStats, observer-id;
observer pages use StatCard/Card/Field/Segmented/SearchBar/SelectDropdown; one details
chrome on the stats tabs; comment and translations-guide trims; localStorage stub for
Node 26 in the test setup.
2026-09-30 10:19:32 -04:00

15 lines
606 B
TypeScript

import { describe, it, expect } from "vitest";
import { OBSERVER_UUID } from "../../../src/features/observers/observer-id";
describe("OBSERVER_UUID", () => {
it("matches a well-formed UUID, case-insensitively", () => {
expect(OBSERVER_UUID.test("3fa85f64-5717-4562-b3fc-2c963f66afa6")).toBe(true);
expect(OBSERVER_UUID.test("3FA85F64-5717-4562-B3FC-2C963F66AFA6")).toBe(true);
});
it("rejects the nil UUID and malformed strings", () => {
expect(OBSERVER_UUID.test("00000000-0000-0000-0000-000000000000")).toBe(false);
expect(OBSERVER_UUID.test("not-a-uuid")).toBe(false);
});
});