diff --git a/calendar/month_test.go b/calendar/month_test.go index 2267923..1efd8dd 100644 --- a/calendar/month_test.go +++ b/calendar/month_test.go @@ -2,6 +2,8 @@ package calendar import ( "fmt" + "strconv" + "strings" "testing" "time" @@ -556,6 +558,35 @@ func TestMonthModel_View(t *testing.T) { } } +func TestMonthModel_View_Comprehensive(t *testing.T) { + tests := []int{ + 2022, + 2023, + 2024, + 2025, + } + + for _, year := range tests { + t.Run(strconv.Itoa(year), func(t *testing.T) { + // Setup + var gots []string + for i := time.January; i <= time.December; i += 1 { + + tm := NewMonth(year, i) + _ = tm.Init() + + // Test + c := tm.View() + gots = append(gots, ansi.Strip(c)) + } + + // Assertions + got := strings.Join(gots, "\n") + golden.RequireEqual(t, []byte(got)) + }) + } +} + func TestMonthModel_Title(t *testing.T) { year := 2024 month := time.September diff --git a/calendar/testdata/TestMonthModel_View_Comprehensive/2022.golden b/calendar/testdata/TestMonthModel_View_Comprehensive/2022.golden new file mode 100644 index 0000000..a73af88 --- /dev/null +++ b/calendar/testdata/TestMonthModel_View_Comprehensive/2022.golden @@ -0,0 +1,225 @@ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │31 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │31 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │31 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│31 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │31 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │30 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │31 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │30 │31 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ \ No newline at end of file diff --git a/calendar/testdata/TestMonthModel_View_Comprehensive/2023.golden b/calendar/testdata/TestMonthModel_View_Comprehensive/2023.golden new file mode 100644 index 0000000..976a522 --- /dev/null +++ b/calendar/testdata/TestMonthModel_View_Comprehensive/2023.golden @@ -0,0 +1,225 @@ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │31 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │31 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │31 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │30 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │31 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │31 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │31 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│31 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ \ No newline at end of file diff --git a/calendar/testdata/TestMonthModel_View_Comprehensive/2024.golden b/calendar/testdata/TestMonthModel_View_Comprehensive/2024.golden new file mode 100644 index 0000000..ea7ad66 --- /dev/null +++ b/calendar/testdata/TestMonthModel_View_Comprehensive/2024.golden @@ -0,0 +1,222 @@ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │31 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│31 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │31 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │31 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │30 │31 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │31 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │31 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ \ No newline at end of file diff --git a/calendar/testdata/TestMonthModel_View_Comprehensive/2025.golden b/calendar/testdata/TestMonthModel_View_Comprehensive/2025.golden new file mode 100644 index 0000000..e91d505 --- /dev/null +++ b/calendar/testdata/TestMonthModel_View_Comprehensive/2025.golden @@ -0,0 +1,225 @@ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │31 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │31 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │1 │2 │3 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│4 │5 │6 │7 │8 │9 │10 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│11 │12 │13 │14 │15 │16 │17 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│18 │19 │20 │21 │22 │23 │24 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│25 │26 │27 │28 │29 │30 │31 │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│1 │2 │3 │4 │5 │6 │7 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│8 │9 │10 │11 │12 │13 │14 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│15 │16 │17 │18 │19 │20 │21 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│22 │23 │24 │25 │26 │27 │28 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│29 │30 │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │1 │2 │3 │4 │5 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│6 │7 │8 │9 │10 │11 │12 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│13 │14 │15 │16 │17 │18 │19 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│20 │21 │22 │23 │24 │25 │26 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│27 │28 │29 │30 │31 │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │1 │2 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│3 │4 │5 │6 │7 │8 │9 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│17 │18 │19 │20 │21 │22 │23 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│24 │25 │26 │27 │28 │29 │30 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│31 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │1 │2 │3 │4 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│5 │6 │7 │8 │9 │10 │11 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│12 │13 │14 │15 │16 │17 │18 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│19 │20 │21 │22 │23 │24 │25 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│26 │27 │28 │29 │30 │31 │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │1 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│2 │3 │4 │5 │6 │7 │8 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│9 │10 │11 │12 │13 │14 │15 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│16 │17 │18 │19 │20 │21 │22 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│23 │24 │25 │26 │27 │28 │29 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│30 │ │ │ │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ +╭─────┬─────┬─────┬─────┬─────┬─────┬─────╮ +│ Sun │ Mon │ Tue │ Wed │ Thu │ Fri │ Sat │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │1 │2 │3 │4 │5 │6 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│7 │8 │9 │10 │11 │12 │13 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│14 │15 │16 │17 │18 │19 │20 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│21 │22 │23 │24 │25 │26 │27 │ +│ │ │ │ │ │ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│28 │29 │30 │31 │ │ │ │ +│ │ │ │ │ │ │ │ +╰─────┴─────┴─────┴─────┴─────┴─────┴─────╯ \ No newline at end of file