std/datetime/week_of_year_test.ts
2024-04-29 11:57:30 +09:00

66 lines
2.8 KiB
TypeScript

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "@std/assert";
import { weekOfYear } from "./week_of_year.ts";
Deno.test({
name: "weekOfYear()",
fn: () => {
assertEquals(weekOfYear(new Date("2020-01-05T03:00:00.000Z")), 1);
assertEquals(weekOfYear(new Date("2020-06-28T03:00:00.000Z")), 26);
// iso weeks year starting sunday
assertEquals(weekOfYear(new Date(2012, 0, 1)), 52);
assertEquals(weekOfYear(new Date(2012, 0, 2)), 1);
assertEquals(weekOfYear(new Date(2012, 0, 8)), 1);
assertEquals(weekOfYear(new Date(2012, 0, 9)), 2);
assertEquals(weekOfYear(new Date(2012, 0, 15)), 2);
// iso weeks year starting monday
assertEquals(weekOfYear(new Date(2007, 0, 1)), 1);
assertEquals(weekOfYear(new Date(2007, 0, 7)), 1);
assertEquals(weekOfYear(new Date(2007, 0, 8)), 2);
assertEquals(weekOfYear(new Date(2007, 0, 14)), 2);
assertEquals(weekOfYear(new Date(2007, 0, 15)), 3);
// iso weeks year starting tuesday
assertEquals(weekOfYear(new Date(2007, 11, 31)), 1);
assertEquals(weekOfYear(new Date(2008, 0, 1)), 1);
assertEquals(weekOfYear(new Date(2008, 0, 6)), 1);
assertEquals(weekOfYear(new Date(2008, 0, 7)), 2);
assertEquals(weekOfYear(new Date(2008, 0, 13)), 2);
assertEquals(weekOfYear(new Date(2008, 0, 14)), 3);
// iso weeks year starting wednesday
assertEquals(weekOfYear(new Date(2002, 11, 30)), 1);
assertEquals(weekOfYear(new Date(2003, 0, 1)), 1);
assertEquals(weekOfYear(new Date(2003, 0, 5)), 1);
assertEquals(weekOfYear(new Date(2003, 0, 6)), 2);
assertEquals(weekOfYear(new Date(2003, 0, 12)), 2);
assertEquals(weekOfYear(new Date(2003, 0, 13)), 3);
// iso weeks year starting thursday
assertEquals(weekOfYear(new Date(2008, 11, 29)), 1);
assertEquals(weekOfYear(new Date(2009, 0, 1)), 1);
assertEquals(weekOfYear(new Date(2009, 0, 4)), 1);
assertEquals(weekOfYear(new Date(2009, 0, 5)), 2);
assertEquals(weekOfYear(new Date(2009, 0, 11)), 2);
assertEquals(weekOfYear(new Date(2009, 0, 13)), 3);
// iso weeks year starting friday
assertEquals(weekOfYear(new Date(2009, 11, 28)), 53);
assertEquals(weekOfYear(new Date(2010, 0, 1)), 53);
assertEquals(weekOfYear(new Date(2010, 0, 3)), 53);
assertEquals(weekOfYear(new Date(2010, 0, 4)), 1);
assertEquals(weekOfYear(new Date(2010, 0, 10)), 1);
assertEquals(weekOfYear(new Date(2010, 0, 11)), 2);
// iso weeks year starting saturday
assertEquals(weekOfYear(new Date(2010, 11, 27)), 52);
assertEquals(weekOfYear(new Date(2011, 0, 1)), 52);
assertEquals(weekOfYear(new Date(2011, 0, 2)), 52);
assertEquals(weekOfYear(new Date(2011, 0, 3)), 1);
assertEquals(weekOfYear(new Date(2011, 0, 9)), 1);
assertEquals(weekOfYear(new Date(2011, 0, 10)), 2);
},
});