it("formats UTC offsets for whole and half-hour timezones", () => {
expect(__test.formatUtcOffset(240)).toBe("UTC-4");
expect(__test.formatUtcOffset(-330)).toBe("UTC+5:30");
expect(__test.formatUtcOffset(0)).toBe("UTC+0");
});
it("sends specific mode with browser offset when usage timezone is local", async () => { const request = vi.fn(async () => ({})); const state = createState(request, { usageTimeZone: "local" });
vi.spyOn(Date.prototype, "getTimezoneOffset").mockReturnValue(-330);
await loadUsage(state);
expectSpecificTimezoneCalls(request, 1);
});
it("sends utc mode without offset when usage timezone is utc", async () => { const request = vi.fn(async () => ({})); const state = createState(request, { usageTimeZone: "utc" });
it("falls back and remembers compatibility when sessions.usage rejects mode/utcOffset", async () => { const storage = createStorageMock();
vi.stubGlobal("localStorage", storage as unknown as Storage);
vi.spyOn(Date.prototype, "getTimezoneOffset").mockReturnValue(-330);
const request = vi.fn(async (method: string, params?: unknown) => { if (method === "sessions.usage") { const record = (params ?? {}) as Record<string, unknown>; if ("mode" in record || "utcOffset" in record) { thrownew Error( "invalid sessions.usage params: at root: unexpected property 'mode'; at root: unexpected property 'utcOffset'",
);
} return { sessions: [] };
} return {};
});
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.