test: add DST boundary test for timestamp injection
Verifies that America/New_York correctly resolves to midnight for both EST (winter, UTC-5) and EDT (summer, UTC-4) using the same IANA timezone. Intl.DateTimeFormat handles the DST transition.
This commit is contained in:
@@ -97,6 +97,26 @@ describe("injectTimestamp", () => {
|
|||||||
expect(result).toContain("11:59 PM");
|
expect(result).toContain("11:59 PM");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("handles DST correctly (same UTC hour, different local time)", () => {
|
||||||
|
// EST (winter): UTC-5 → 2026-01-15T05:00Z = midnight Jan 15
|
||||||
|
vi.setSystemTime(new Date("2026-01-15T05:00:00.000Z"));
|
||||||
|
const winter = injectTimestamp("winter", {
|
||||||
|
timezone: "America/New_York",
|
||||||
|
timeFormat: "12",
|
||||||
|
});
|
||||||
|
expect(winter).toContain("January 15");
|
||||||
|
expect(winter).toContain("12:00 AM");
|
||||||
|
|
||||||
|
// EDT (summer): UTC-4 → 2026-07-15T04:00Z = midnight Jul 15
|
||||||
|
vi.setSystemTime(new Date("2026-07-15T04:00:00.000Z"));
|
||||||
|
const summer = injectTimestamp("summer", {
|
||||||
|
timezone: "America/New_York",
|
||||||
|
timeFormat: "12",
|
||||||
|
});
|
||||||
|
expect(summer).toContain("July 15");
|
||||||
|
expect(summer).toContain("12:00 AM");
|
||||||
|
});
|
||||||
|
|
||||||
it("accepts a custom now date", () => {
|
it("accepts a custom now date", () => {
|
||||||
const customDate = new Date("2025-07-04T16:00:00.000Z"); // July 4, noon EST
|
const customDate = new Date("2025-07-04T16:00:00.000Z"); // July 4, noon EST
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user