summaryrefslogtreecommitdiffstats
path: root/tests/expected/cal
diff options
context:
space:
mode:
Diffstat (limited to 'tests/expected/cal')
-rw-r--r--tests/expected/cal/bigyear-1m-month9
-rw-r--r--tests/expected/cal/bigyear-1m-year9
-rw-r--r--tests/expected/cal/bigyear-1mj-month9
-rw-r--r--tests/expected/cal/bigyear-1mj-year9
-rw-r--r--tests/expected/cal/bigyear-1mjw-month9
-rw-r--r--tests/expected/cal/bigyear-1mjw-year9
-rw-r--r--tests/expected/cal/bigyear-1mw-month9
-rw-r--r--tests/expected/cal/bigyear-1mw-year9
-rw-r--r--tests/expected/cal/bigyear-1s-month9
-rw-r--r--tests/expected/cal/bigyear-1s-year9
-rw-r--r--tests/expected/cal/bigyear-1sj-month9
-rw-r--r--tests/expected/cal/bigyear-1sj-year9
-rw-r--r--tests/expected/cal/bigyear-1sjw-month9
-rw-r--r--tests/expected/cal/bigyear-1sjw-year9
-rw-r--r--tests/expected/cal/bigyear-1sw-month9
-rw-r--r--tests/expected/cal/bigyear-1sw-year9
-rw-r--r--tests/expected/cal/bigyear-3m-month9
-rw-r--r--tests/expected/cal/bigyear-3mj-month9
-rw-r--r--tests/expected/cal/bigyear-3mjw-month9
-rw-r--r--tests/expected/cal/bigyear-3mw-month9
-rw-r--r--tests/expected/cal/bigyear-3s-month9
-rw-r--r--tests/expected/cal/bigyear-3sj-month9
-rw-r--r--tests/expected/cal/bigyear-3sjw-month9
-rw-r--r--tests/expected/cal/bigyear-3sw-month9
-rw-r--r--tests/expected/cal/color55
-rw-r--r--tests/expected/cal/colorw55
-rw-r--r--tests/expected/cal/jan1753-3w9
-rw-r--r--tests/expected/cal/jan1753-m3w9
-rw-r--r--tests/expected/cal/month-1m9
-rw-r--r--tests/expected/cal/month-1mj9
-rw-r--r--tests/expected/cal/month-1mjw9
-rw-r--r--tests/expected/cal/month-1mw9
-rw-r--r--tests/expected/cal/month-1s9
-rw-r--r--tests/expected/cal/month-1sj9
-rw-r--r--tests/expected/cal/month-1sjw9
-rw-r--r--tests/expected/cal/month-1sw9
-rw-r--r--tests/expected/cal/month-3m9
-rw-r--r--tests/expected/cal/month-3mj9
-rw-r--r--tests/expected/cal/month-3mjw9
-rw-r--r--tests/expected/cal/month-3mw9
-rw-r--r--tests/expected/cal/month-3s9
-rw-r--r--tests/expected/cal/month-3sj9
-rw-r--r--tests/expected/cal/month-3sjw9
-rw-r--r--tests/expected/cal/month-3sw9
-rw-r--r--tests/expected/cal/month-Sn201537
-rw-r--r--tests/expected/cal/month-Sn2157
-rw-r--r--tests/expected/cal/month-Sn39
-rw-r--r--tests/expected/cal/month-Sn51137
-rw-r--r--tests/expected/cal/sep1752-1m-month9
-rw-r--r--tests/expected/cal/sep1752-1m-year9
-rw-r--r--tests/expected/cal/sep1752-1mj-month9
-rw-r--r--tests/expected/cal/sep1752-1mj-year9
-rw-r--r--tests/expected/cal/sep1752-1mjw-month9
-rw-r--r--tests/expected/cal/sep1752-1mjw-year9
-rw-r--r--tests/expected/cal/sep1752-1mw-month9
-rw-r--r--tests/expected/cal/sep1752-1mw-year9
-rw-r--r--tests/expected/cal/sep1752-1s-month9
-rw-r--r--tests/expected/cal/sep1752-1s-year9
-rw-r--r--tests/expected/cal/sep1752-1sj-month9
-rw-r--r--tests/expected/cal/sep1752-1sj-year9
-rw-r--r--tests/expected/cal/sep1752-1sjw-month9
-rw-r--r--tests/expected/cal/sep1752-1sjw-year9
-rw-r--r--tests/expected/cal/sep1752-1sw-month9
-rw-r--r--tests/expected/cal/sep1752-1sw-year9
-rw-r--r--tests/expected/cal/sep1752-3m-month9
-rw-r--r--tests/expected/cal/sep1752-3mj-month9
-rw-r--r--tests/expected/cal/sep1752-3mjw-month9
-rw-r--r--tests/expected/cal/sep1752-3mw-month9
-rw-r--r--tests/expected/cal/sep1752-3s-month9
-rw-r--r--tests/expected/cal/sep1752-3sj-month9
-rw-r--r--tests/expected/cal/sep1752-3sjw-month9
-rw-r--r--tests/expected/cal/sep1752-3sw-month9
-rw-r--r--tests/expected/cal/sep1752-week-iso9
-rw-r--r--tests/expected/cal/weekarg-1m-week539
-rw-r--r--tests/expected/cal/weekarg-1m-week53-color9
-rw-r--r--tests/expected/cal/weekarg-1mj-week539
-rw-r--r--tests/expected/cal/weekarg-1mj-week53-color9
-rw-r--r--tests/expected/cal/weekarg-3m-week409
-rw-r--r--tests/expected/cal/weekarg-3m-week40-color9
-rw-r--r--tests/expected/cal/weekarg-3m-week52-color9
-rw-r--r--tests/expected/cal/weekarg-3m-week53-color9
-rw-r--r--tests/expected/cal/weekarg-3mj-week409
-rw-r--r--tests/expected/cal/weekarg-3mj-week40-color9
-rw-r--r--tests/expected/cal/weekarg-3s-week409
-rw-r--r--tests/expected/cal/weekarg-3s-week54-color9
-rw-r--r--tests/expected/cal/weekarg-3sj-week409
-rw-r--r--tests/expected/cal/weekarg-m-week409
-rw-r--r--tests/expected/cal/weekarg-mj-week409
-rw-r--r--tests/expected/cal/weekarg-s-week409
-rw-r--r--tests/expected/cal/weekarg-sj-week409
-rw-r--r--tests/expected/cal/weeknum0
-rw-r--r--tests/expected/cal/weeknum-3mjw57
-rw-r--r--tests/expected/cal/weeknum-3mw57
-rw-r--r--tests/expected/cal/weeknum-3sjw57
-rw-r--r--tests/expected/cal/weeknum-3sw57
-rw-r--r--tests/expected/cal/weeknum-ymjw239
-rw-r--r--tests/expected/cal/weeknum-ymw239
-rw-r--r--tests/expected/cal/weeknum-ysjw239
-rw-r--r--tests/expected/cal/weeknum-ysw239
-rw-r--r--tests/expected/cal/year-ym35
-rw-r--r--tests/expected/cal/year-ymj35
-rw-r--r--tests/expected/cal/year-ymjw35
-rw-r--r--tests/expected/cal/year-ymw35
-rw-r--r--tests/expected/cal/year-ys35
-rw-r--r--tests/expected/cal/year-ysj35
-rw-r--r--tests/expected/cal/year-ysjw35
-rw-r--r--tests/expected/cal/year-ysw35
107 files changed, 3070 insertions, 0 deletions
diff --git a/tests/expected/cal/bigyear-1m-month b/tests/expected/cal/bigyear-1m-month
new file mode 100644
index 0000000..6a0f2ad
--- /dev/null
+++ b/tests/expected/cal/bigyear-1m-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based month
+ December 2147483646
+Mo Tu We Th Fr Sa Su
+ 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
diff --git a/tests/expected/cal/bigyear-1m-year b/tests/expected/cal/bigyear-1m-year
new file mode 100644
index 0000000..00c0a12
--- /dev/null
+++ b/tests/expected/cal/bigyear-1m-year
@@ -0,0 +1,9 @@
+Gregorian - Monday-based year
+ January 2147483646
+Mo Tu We Th Fr Sa Su
+ 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
+
diff --git a/tests/expected/cal/bigyear-1mj-month b/tests/expected/cal/bigyear-1mj-month
new file mode 100644
index 0000000..f29e05d
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mj-month
@@ -0,0 +1,9 @@
+Julian - Monday-based month
+ December 2147483646
+Mon Tue Wed Thu Fri Sat Sun
+ 335 336
+337 338 339 340 341 342 343
+344 345 346 347 348 349 350
+351 352 353 354 355 356 357
+358 359 360 361 362 363 364
+365
diff --git a/tests/expected/cal/bigyear-1mj-year b/tests/expected/cal/bigyear-1mj-year
new file mode 100644
index 0000000..56c3f8a
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mj-year
@@ -0,0 +1,9 @@
+Julian - Monday-based year
+ January 2147483646
+Mon Tue Wed Thu Fri Sat Sun
+ 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
+
diff --git a/tests/expected/cal/bigyear-1mjw-month b/tests/expected/cal/bigyear-1mjw-month
new file mode 100644
index 0000000..35f8269
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mjw-month
@@ -0,0 +1,9 @@
+Julian - Monday-based month with weeks
+ December 2147483646
+ Mon Tue Wed Thu Fri Sat Sun
+48 335 336
+49 337 338 339 340 341 342 343
+50 344 345 346 347 348 349 350
+51 351 352 353 354 355 356 357
+52 358 359 360 361 362 363 364
+ 1 365
diff --git a/tests/expected/cal/bigyear-1mjw-year b/tests/expected/cal/bigyear-1mjw-year
new file mode 100644
index 0000000..9001e9c
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mjw-year
@@ -0,0 +1,9 @@
+Julian - Monday-based year with weeks
+ January 2147483646
+ Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5 6 7
+ 2 8 9 10 11 12 13 14
+ 3 15 16 17 18 19 20 21
+ 4 22 23 24 25 26 27 28
+ 5 29 30 31
+
diff --git a/tests/expected/cal/bigyear-1mw-month b/tests/expected/cal/bigyear-1mw-month
new file mode 100644
index 0000000..a7dd7c6
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mw-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based month with weeks
+ December 2147483646
+ Mo Tu We Th Fr Sa Su
+48 1 2
+49 3 4 5 6 7 8 9
+50 10 11 12 13 14 15 16
+51 17 18 19 20 21 22 23
+52 24 25 26 27 28 29 30
+ 1 31
diff --git a/tests/expected/cal/bigyear-1mw-year b/tests/expected/cal/bigyear-1mw-year
new file mode 100644
index 0000000..3b9fdfb
--- /dev/null
+++ b/tests/expected/cal/bigyear-1mw-year
@@ -0,0 +1,9 @@
+Gregorian - Monday-based year with weeks
+ January 2147483646
+ Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 6 7
+ 2 8 9 10 11 12 13 14
+ 3 15 16 17 18 19 20 21
+ 4 22 23 24 25 26 27 28
+ 5 29 30 31
+
diff --git a/tests/expected/cal/bigyear-1s-month b/tests/expected/cal/bigyear-1s-month
new file mode 100644
index 0000000..fcf5c0f
--- /dev/null
+++ b/tests/expected/cal/bigyear-1s-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based month
+ December 2147483646
+Su Mo Tu We Th Fr Sa
+ 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
diff --git a/tests/expected/cal/bigyear-1s-year b/tests/expected/cal/bigyear-1s-year
new file mode 100644
index 0000000..8442aea
--- /dev/null
+++ b/tests/expected/cal/bigyear-1s-year
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based year
+ January 2147483646
+Su Mo Tu We Th Fr Sa
+ 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
+
diff --git a/tests/expected/cal/bigyear-1sj-month b/tests/expected/cal/bigyear-1sj-month
new file mode 100644
index 0000000..d159352
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sj-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based month
+ December 2147483646
+Sun Mon Tue Wed Thu Fri Sat
+ 335
+336 337 338 339 340 341 342
+343 344 345 346 347 348 349
+350 351 352 353 354 355 356
+357 358 359 360 361 362 363
+364 365
diff --git a/tests/expected/cal/bigyear-1sj-year b/tests/expected/cal/bigyear-1sj-year
new file mode 100644
index 0000000..980e4b2
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sj-year
@@ -0,0 +1,9 @@
+Julian - Sunday-based year
+ January 2147483646
+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
+
diff --git a/tests/expected/cal/bigyear-1sjw-month b/tests/expected/cal/bigyear-1sjw-month
new file mode 100644
index 0000000..139ba22
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sjw-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based month with weeks
+ December 2147483646
+ Sun Mon Tue Wed Thu Fri Sat
+48 335
+49 336 337 338 339 340 341 342
+50 343 344 345 346 347 348 349
+51 350 351 352 353 354 355 356
+52 357 358 359 360 361 362 363
+53 364 365
diff --git a/tests/expected/cal/bigyear-1sjw-year b/tests/expected/cal/bigyear-1sjw-year
new file mode 100644
index 0000000..4d35dab
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sjw-year
@@ -0,0 +1,9 @@
+Julian - Sunday-based year with weeks
+ January 2147483646
+ Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 6
+ 2 7 8 9 10 11 12 13
+ 3 14 15 16 17 18 19 20
+ 4 21 22 23 24 25 26 27
+ 5 28 29 30 31
+
diff --git a/tests/expected/cal/bigyear-1sw-month b/tests/expected/cal/bigyear-1sw-month
new file mode 100644
index 0000000..ca3aaa7
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sw-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based month with weeks
+ December 2147483646
+ Su Mo Tu We Th Fr Sa
+48 1
+49 2 3 4 5 6 7 8
+50 9 10 11 12 13 14 15
+51 16 17 18 19 20 21 22
+52 23 24 25 26 27 28 29
+53 30 31
diff --git a/tests/expected/cal/bigyear-1sw-year b/tests/expected/cal/bigyear-1sw-year
new file mode 100644
index 0000000..7fb287c
--- /dev/null
+++ b/tests/expected/cal/bigyear-1sw-year
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based year with weeks
+ January 2147483646
+ Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6
+ 2 7 8 9 10 11 12 13
+ 3 14 15 16 17 18 19 20
+ 4 21 22 23 24 25 26 27
+ 5 28 29 30 31
+
diff --git a/tests/expected/cal/bigyear-3m-month b/tests/expected/cal/bigyear-3m-month
new file mode 100644
index 0000000..2591b07
--- /dev/null
+++ b/tests/expected/cal/bigyear-3m-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based 3 months
+ November 2147483646 December 2147483646 January 2147483647
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 3 4 1 2 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
+ 31
diff --git a/tests/expected/cal/bigyear-3mj-month b/tests/expected/cal/bigyear-3mj-month
new file mode 100644
index 0000000..297f6a8
--- /dev/null
+++ b/tests/expected/cal/bigyear-3mj-month
@@ -0,0 +1,9 @@
+Julian - Monday-based 3 months
+ November 2147483646 December 2147483646 January 2147483647
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 305 306 307 308 335 336 1 2 3 4 5 6
+309 310 311 312 313 314 315 337 338 339 340 341 342 343 7 8 9 10 11 12 13
+316 317 318 319 320 321 322 344 345 346 347 348 349 350 14 15 16 17 18 19 20
+323 324 325 326 327 328 329 351 352 353 354 355 356 357 21 22 23 24 25 26 27
+330 331 332 333 334 358 359 360 361 362 363 364 28 29 30 31
+ 365
diff --git a/tests/expected/cal/bigyear-3mjw-month b/tests/expected/cal/bigyear-3mjw-month
new file mode 100644
index 0000000..2f6648f
--- /dev/null
+++ b/tests/expected/cal/bigyear-3mjw-month
@@ -0,0 +1,9 @@
+Julian - Monday-based 3 months with weeks
+ November 2147483646 December 2147483646 January 2147483647
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+44 305 306 307 308 48 335 336 1 1 2 3 4 5 6
+45 309 310 311 312 313 314 315 49 337 338 339 340 341 342 343 2 7 8 9 10 11 12 13
+46 316 317 318 319 320 321 322 50 344 345 346 347 348 349 350 3 14 15 16 17 18 19 20
+47 323 324 325 326 327 328 329 51 351 352 353 354 355 356 357 4 21 22 23 24 25 26 27
+48 330 331 332 333 334 52 358 359 360 361 362 363 364 5 28 29 30 31
+ 1 365
diff --git a/tests/expected/cal/bigyear-3mw-month b/tests/expected/cal/bigyear-3mw-month
new file mode 100644
index 0000000..ace1ff8
--- /dev/null
+++ b/tests/expected/cal/bigyear-3mw-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based 3 months with weeks
+ November 2147483646 December 2147483646 January 2147483647
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+44 1 2 3 4 48 1 2 1 1 2 3 4 5 6
+45 5 6 7 8 9 10 11 49 3 4 5 6 7 8 9 2 7 8 9 10 11 12 13
+46 12 13 14 15 16 17 18 50 10 11 12 13 14 15 16 3 14 15 16 17 18 19 20
+47 19 20 21 22 23 24 25 51 17 18 19 20 21 22 23 4 21 22 23 24 25 26 27
+48 26 27 28 29 30 52 24 25 26 27 28 29 30 5 28 29 30 31
+ 1 31
diff --git a/tests/expected/cal/bigyear-3s-month b/tests/expected/cal/bigyear-3s-month
new file mode 100644
index 0000000..e0bdb8d
--- /dev/null
+++ b/tests/expected/cal/bigyear-3s-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based 3 months
+ November 2147483646 December 2147483646 January 2147483647
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 1 2 3 4 5
+ 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
+ 30 31
diff --git a/tests/expected/cal/bigyear-3sj-month b/tests/expected/cal/bigyear-3sj-month
new file mode 100644
index 0000000..1205d56
--- /dev/null
+++ b/tests/expected/cal/bigyear-3sj-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based 3 months
+ November 2147483646 December 2147483646 January 2147483647
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 305 306 307 335 1 2 3 4 5
+308 309 310 311 312 313 314 336 337 338 339 340 341 342 6 7 8 9 10 11 12
+315 316 317 318 319 320 321 343 344 345 346 347 348 349 13 14 15 16 17 18 19
+322 323 324 325 326 327 328 350 351 352 353 354 355 356 20 21 22 23 24 25 26
+329 330 331 332 333 334 357 358 359 360 361 362 363 27 28 29 30 31
+ 364 365
diff --git a/tests/expected/cal/bigyear-3sjw-month b/tests/expected/cal/bigyear-3sjw-month
new file mode 100644
index 0000000..541d3ae
--- /dev/null
+++ b/tests/expected/cal/bigyear-3sjw-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based 3 months with weeks
+ November 2147483646 December 2147483646 January 2147483647
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+44 305 306 307 48 335 1 1 2 3 4 5
+45 308 309 310 311 312 313 314 49 336 337 338 339 340 341 342 2 6 7 8 9 10 11 12
+46 315 316 317 318 319 320 321 50 343 344 345 346 347 348 349 3 13 14 15 16 17 18 19
+47 322 323 324 325 326 327 328 51 350 351 352 353 354 355 356 4 20 21 22 23 24 25 26
+48 329 330 331 332 333 334 52 357 358 359 360 361 362 363 5 27 28 29 30 31
+ 53 364 365
diff --git a/tests/expected/cal/bigyear-3sw-month b/tests/expected/cal/bigyear-3sw-month
new file mode 100644
index 0000000..305e2c6
--- /dev/null
+++ b/tests/expected/cal/bigyear-3sw-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based 3 months with weeks
+ November 2147483646 December 2147483646 January 2147483647
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+44 1 2 3 48 1 1 1 2 3 4 5
+45 4 5 6 7 8 9 10 49 2 3 4 5 6 7 8 2 6 7 8 9 10 11 12
+46 11 12 13 14 15 16 17 50 9 10 11 12 13 14 15 3 13 14 15 16 17 18 19
+47 18 19 20 21 22 23 24 51 16 17 18 19 20 21 22 4 20 21 22 23 24 25 26
+48 25 26 27 28 29 30 52 23 24 25 26 27 28 29 5 27 28 29 30 31
+ 53 30 31
diff --git a/tests/expected/cal/color b/tests/expected/cal/color
new file mode 100644
index 0000000..7147cca
--- /dev/null
+++ b/tests/expected/cal/color
@@ -0,0 +1,55 @@
+
+First day
+ January 0001
+Su Mo Tu We Th Fr Sa
+  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
+Reformation corner cases 1
+ September 1752
+Su Mo Tu We Th Fr Sa
+ 1  2 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 2
+ September 1752
+Su Mo Tu We Th Fr Sa
+ 1 2 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 3
+ September 1752
+Su Mo Tu We Th Fr Sa
+ 1 2 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 4
+ September 1752
+Su Mo Tu We Th Fr Sa
+ 1 2 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+
+
+Last day
+ November 9999 December 9999 January 10000
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 1
+ 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30 31
diff --git a/tests/expected/cal/colorw b/tests/expected/cal/colorw
new file mode 100644
index 0000000..5ecab6f
--- /dev/null
+++ b/tests/expected/cal/colorw
@@ -0,0 +1,55 @@
+
+First day with week numbers
+ January 0001
+ Su Mo Tu We Th Fr Sa
+ 1  1
+ 2 2 3 4 5 6 7 8
+ 3 9 10 11 12 13 14 15
+ 4 16 17 18 19 20 21 22
+ 5 23 24 25 26 27 28 29
+ 6 30 31
+Reformation corner cases 1 with week numbers
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1  2 14 15 16
+37 17 18 19 20 21 22 23
+38 24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 2 with week numbers
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1 2 14 15 16
+37 17 18 19 20 21 22 23
+38 24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 3 with week numbers
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1 2 14 15 16
+37 17 18 19 20 21 22 23
+38 24 25 26 27 28 29 30
+
+
+
+Reformation corner cases 4 with week numbers
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1 2 14 15 16
+37 17 18 19 20 21 22 23
+38 24 25 26 27 28 29 30
+
+
+
+Last day with week numbers
+ November 9999 December 9999 January 10000
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+45 1 2 3 4 5 6 49 1 2 3 4 1 1
+46 7 8 9 10 11 12 13 50 5 6 7 8 9 10 11 2 2 3 4 5 6 7 8
+47 14 15 16 17 18 19 20 51 12 13 14 15 16 17 18 3 9 10 11 12 13 14 15
+48 21 22 23 24 25 26 27 52 19 20 21 22 23 24 25 4 16 17 18 19 20 21 22
+49 28 29 30 53 26 27 28 29 30 31 5 23 24 25 26 27 28 29
+ 6 30 31
diff --git a/tests/expected/cal/jan1753-3w b/tests/expected/cal/jan1753-3w
new file mode 100644
index 0000000..80d3d01
--- /dev/null
+++ b/tests/expected/cal/jan1753-3w
@@ -0,0 +1,9 @@
+Sunday-based 1753 week numbers
+ December 1752 January 1753 February 1753
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+47 1 2 1 1 2 3 4 5 6 5 1 2 3
+48 3 4 5 6 7 8 9 2 7 8 9 10 11 12 13 6 4 5 6 7 8 9 10
+49 10 11 12 13 14 15 16 3 14 15 16 17 18 19 20 7 11 12 13 14 15 16 17
+50 17 18 19 20 21 22 23 4 21 22 23 24 25 26 27 8 18 19 20 21 22 23 24
+51 24 25 26 27 28 29 30 5 28 29 30 31 9 25 26 27 28
+52 31
diff --git a/tests/expected/cal/jan1753-m3w b/tests/expected/cal/jan1753-m3w
new file mode 100644
index 0000000..8de81fe
--- /dev/null
+++ b/tests/expected/cal/jan1753-m3w
@@ -0,0 +1,9 @@
+Monday-based 1753 week numbers
+ December 1752 January 1753 February 1753
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+47 1 2 3 1 1 2 3 4 5 6 7 5 1 2 3 4
+48 4 5 6 7 8 9 10 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11
+49 11 12 13 14 15 16 17 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18
+50 18 19 20 21 22 23 24 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25
+51 25 26 27 28 29 30 31 5 29 30 31 9 26 27 28
+
diff --git a/tests/expected/cal/month-1m b/tests/expected/cal/month-1m
new file mode 100644
index 0000000..58cc28a
--- /dev/null
+++ b/tests/expected/cal/month-1m
@@ -0,0 +1,9 @@
+Gregorian - Monday-based week
+ September 2006
+Mo Tu We Th Fr Sa Su
+ 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
+
diff --git a/tests/expected/cal/month-1mj b/tests/expected/cal/month-1mj
new file mode 100644
index 0000000..b415f9a
--- /dev/null
+++ b/tests/expected/cal/month-1mj
@@ -0,0 +1,9 @@
+Julian - Monday-based week
+ September 2006
+Mon Tue Wed Thu Fri Sat Sun
+ 244 245 246
+247 248 249 250 251 252 253
+254 255 256 257 258 259 260
+261 262 263 264 265 266 267
+268 269 270 271 272 273
+
diff --git a/tests/expected/cal/month-1mjw b/tests/expected/cal/month-1mjw
new file mode 100644
index 0000000..f44d2c0
--- /dev/null
+++ b/tests/expected/cal/month-1mjw
@@ -0,0 +1,9 @@
+Julian - Monday-based week with week numbers
+ September 2006
+ Mon Tue Wed Thu Fri Sat Sun
+35 244 245 246
+36 247 248 249 250 251 252 253
+37 254 255 256 257 258 259 260
+38 261 262 263 264 265 266 267
+39 268 269 270 271 272 273
+
diff --git a/tests/expected/cal/month-1mw b/tests/expected/cal/month-1mw
new file mode 100644
index 0000000..67e727c
--- /dev/null
+++ b/tests/expected/cal/month-1mw
@@ -0,0 +1,9 @@
+Gregorian - Monday-based week with week numbers
+ September 2006
+ Mo Tu We Th Fr Sa Su
+35 1 2 3
+36 4 5 6 7 8 9 10
+37 11 12 13 14 15 16 17
+38 18 19 20 21 22 23 24
+39 25 26 27 28 29 30
+
diff --git a/tests/expected/cal/month-1s b/tests/expected/cal/month-1s
new file mode 100644
index 0000000..f0aa397
--- /dev/null
+++ b/tests/expected/cal/month-1s
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based week
+ September 2006
+Su Mo Tu We Th Fr Sa
+ 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
+
diff --git a/tests/expected/cal/month-1sj b/tests/expected/cal/month-1sj
new file mode 100644
index 0000000..3d48b49
--- /dev/null
+++ b/tests/expected/cal/month-1sj
@@ -0,0 +1,9 @@
+Julian - Sunday-based week
+ September 2006
+Sun Mon Tue Wed Thu Fri Sat
+ 244 245
+246 247 248 249 250 251 252
+253 254 255 256 257 258 259
+260 261 262 263 264 265 266
+267 268 269 270 271 272 273
+
diff --git a/tests/expected/cal/month-1sjw b/tests/expected/cal/month-1sjw
new file mode 100644
index 0000000..e85420b
--- /dev/null
+++ b/tests/expected/cal/month-1sjw
@@ -0,0 +1,9 @@
+Julian - Sunday-based week with week numbers
+ September 2006
+ Sun Mon Tue Wed Thu Fri Sat
+35 244 245
+36 246 247 248 249 250 251 252
+37 253 254 255 256 257 258 259
+38 260 261 262 263 264 265 266
+39 267 268 269 270 271 272 273
+
diff --git a/tests/expected/cal/month-1sw b/tests/expected/cal/month-1sw
new file mode 100644
index 0000000..0f6be3c
--- /dev/null
+++ b/tests/expected/cal/month-1sw
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based week with week numbers
+ September 2006
+ Su Mo Tu We Th Fr Sa
+35 1 2
+36 3 4 5 6 7 8 9
+37 10 11 12 13 14 15 16
+38 17 18 19 20 21 22 23
+39 24 25 26 27 28 29 30
+
diff --git a/tests/expected/cal/month-3m b/tests/expected/cal/month-3m
new file mode 100644
index 0000000..3a299ba
--- /dev/null
+++ b/tests/expected/cal/month-3m
@@ -0,0 +1,9 @@
+Gregorian - Monday-based week
+ August 2006 September 2006 October 2006
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
diff --git a/tests/expected/cal/month-3mj b/tests/expected/cal/month-3mj
new file mode 100644
index 0000000..a1b7aff
--- /dev/null
+++ b/tests/expected/cal/month-3mj
@@ -0,0 +1,9 @@
+Julian - Monday-based week
+ December 2017 January 2018 February 2018
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 335 336 337 1 2 3 4 5 6 7 32 33 34 35
+338 339 340 341 342 343 344 8 9 10 11 12 13 14 36 37 38 39 40 41 42
+345 346 347 348 349 350 351 15 16 17 18 19 20 21 43 44 45 46 47 48 49
+352 353 354 355 356 357 358 22 23 24 25 26 27 28 50 51 52 53 54 55 56
+359 360 361 362 363 364 365 29 30 31 57 58 59
+
diff --git a/tests/expected/cal/month-3mjw b/tests/expected/cal/month-3mjw
new file mode 100644
index 0000000..0fdeb01
--- /dev/null
+++ b/tests/expected/cal/month-3mjw
@@ -0,0 +1,9 @@
+Julian - Monday-based week with week numbers
+ August 2006 September 2006 October 2006
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+31 213 214 215 216 217 218 35 244 245 246 39 274
+32 219 220 221 222 223 224 225 36 247 248 249 250 251 252 253 40 275 276 277 278 279 280 281
+33 226 227 228 229 230 231 232 37 254 255 256 257 258 259 260 41 282 283 284 285 286 287 288
+34 233 234 235 236 237 238 239 38 261 262 263 264 265 266 267 42 289 290 291 292 293 294 295
+35 240 241 242 243 39 268 269 270 271 272 273 43 296 297 298 299 300 301 302
+ 44 303 304
diff --git a/tests/expected/cal/month-3mw b/tests/expected/cal/month-3mw
new file mode 100644
index 0000000..2309da8
--- /dev/null
+++ b/tests/expected/cal/month-3mw
@@ -0,0 +1,9 @@
+Gregorian - Monday-based week with week numbers
+ August 2006 September 2006 October 2006
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+31 1 2 3 4 5 6 35 1 2 3 39 1
+32 7 8 9 10 11 12 13 36 4 5 6 7 8 9 10 40 2 3 4 5 6 7 8
+33 14 15 16 17 18 19 20 37 11 12 13 14 15 16 17 41 9 10 11 12 13 14 15
+34 21 22 23 24 25 26 27 38 18 19 20 21 22 23 24 42 16 17 18 19 20 21 22
+35 28 29 30 31 39 25 26 27 28 29 30 43 23 24 25 26 27 28 29
+ 44 30 31
diff --git a/tests/expected/cal/month-3s b/tests/expected/cal/month-3s
new file mode 100644
index 0000000..4f67f1a
--- /dev/null
+++ b/tests/expected/cal/month-3s
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based week
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
diff --git a/tests/expected/cal/month-3sj b/tests/expected/cal/month-3sj
new file mode 100644
index 0000000..5d1b11a
--- /dev/null
+++ b/tests/expected/cal/month-3sj
@@ -0,0 +1,9 @@
+Julian - Sunday-based week
+ August 2006 September 2006 October 2006
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 213 214 215 216 217 244 245 274 275 276 277 278 279 280
+218 219 220 221 222 223 224 246 247 248 249 250 251 252 281 282 283 284 285 286 287
+225 226 227 228 229 230 231 253 254 255 256 257 258 259 288 289 290 291 292 293 294
+232 233 234 235 236 237 238 260 261 262 263 264 265 266 295 296 297 298 299 300 301
+239 240 241 242 243 267 268 269 270 271 272 273 302 303 304
+
diff --git a/tests/expected/cal/month-3sjw b/tests/expected/cal/month-3sjw
new file mode 100644
index 0000000..f6e70ea
--- /dev/null
+++ b/tests/expected/cal/month-3sjw
@@ -0,0 +1,9 @@
+Julian - Sunday-based week with week numbers
+ August 2006 September 2006 October 2006
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+31 213 214 215 216 217 35 244 245 40 274 275 276 277 278 279 280
+32 218 219 220 221 222 223 224 36 246 247 248 249 250 251 252 41 281 282 283 284 285 286 287
+33 225 226 227 228 229 230 231 37 253 254 255 256 257 258 259 42 288 289 290 291 292 293 294
+34 232 233 234 235 236 237 238 38 260 261 262 263 264 265 266 43 295 296 297 298 299 300 301
+35 239 240 241 242 243 39 267 268 269 270 271 272 273 44 302 303 304
+
diff --git a/tests/expected/cal/month-3sw b/tests/expected/cal/month-3sw
new file mode 100644
index 0000000..d6fccdc
--- /dev/null
+++ b/tests/expected/cal/month-3sw
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based week with week numbers
+ August 2006 September 2006 October 2006
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+31 1 2 3 4 5 35 1 2 40 1 2 3 4 5 6 7
+32 6 7 8 9 10 11 12 36 3 4 5 6 7 8 9 41 8 9 10 11 12 13 14
+33 13 14 15 16 17 18 19 37 10 11 12 13 14 15 16 42 15 16 17 18 19 20 21
+34 20 21 22 23 24 25 26 38 17 18 19 20 21 22 23 43 22 23 24 25 26 27 28
+35 27 28 29 30 31 39 24 25 26 27 28 29 30 44 29 30 31
+
diff --git a/tests/expected/cal/month-Sn201 b/tests/expected/cal/month-Sn201
new file mode 100644
index 0000000..4374b95
--- /dev/null
+++ b/tests/expected/cal/month-Sn201
@@ -0,0 +1,537 @@
+Extreme span
+ May 1998 June 1998 July 1998
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
+ August 1998 September 1998 October 1998
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+ November 1998 December 1998 January 1999
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 5 1 2
+ 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+29 30 27 28 29 30 31 24 25 26 27 28 29 30
+ 31
+ February 1999 March 1999 April 1999
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3
+ 7 8 9 10 11 12 13 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+14 15 16 17 18 19 20 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+21 22 23 24 25 26 27 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+28 28 29 30 31 25 26 27 28 29 30
+
+ May 1999 June 1999 July 1999
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+ August 1999 September 1999 October 1999
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ November 1999 December 1999 January 2000
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 1
+ 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30 31
+ February 2000 March 2000 April 2000
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 4 1
+ 6 7 8 9 10 11 12 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+13 14 15 16 17 18 19 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+20 21 22 23 24 25 26 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+27 28 29 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30
+ May 2000 June 2000 July 2000
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ August 2000 September 2000 October 2000
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ November 2000 December 2000 January 2001
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
+ 31
+ February 2001 March 2001 April 2001
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 1 2 3 4 5 6 7
+ 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+25 26 27 28 25 26 27 28 29 30 31 29 30
+
+ May 2001 June 2001 July 2001
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ August 2001 September 2001 October 2001
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ November 2001 December 2001 January 2002
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 1 2 3 4 5
+ 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
+ 30 31
+ February 2002 March 2002 April 2002
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 1 2 3 4 5 6
+ 3 4 5 6 7 8 9 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+10 11 12 13 14 15 16 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+17 18 19 20 21 22 23 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+24 25 26 27 28 24 25 26 27 28 29 30 28 29 30
+ 31
+ May 2002 June 2002 July 2002
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ August 2002 September 2002 October 2002
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ November 2002 December 2002 January 2003
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 7 1 2 3 4
+ 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31
+
+ February 2003 March 2003 April 2003
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 1 2 3 4 5
+ 2 3 4 5 6 7 8 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+ 9 10 11 12 13 14 15 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+16 17 18 19 20 21 22 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+23 24 25 26 27 28 23 24 25 26 27 28 29 27 28 29 30
+ 30 31
+ May 2003 June 2003 July 2003
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ August 2003 September 2003 October 2003
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
+ November 2003 December 2003 January 2004
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 1 2 3
+ 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 31
+30
+ February 2004 March 2004 April 2004
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 5 6 1 2 3
+ 8 9 10 11 12 13 14 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+15 16 17 18 19 20 21 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+22 23 24 25 26 27 28 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+29 28 29 30 31 25 26 27 28 29 30
+
+ May 2004 June 2004 July 2004
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+ August 2004 September 2004 October 2004
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ November 2004 December 2004 January 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 1
+ 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30 31
+ February 2005 March 2005 April 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 4 5 1 2
+ 6 7 8 9 10 11 12 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+13 14 15 16 17 18 19 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+20 21 22 23 24 25 26 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+27 28 27 28 29 30 31 24 25 26 27 28 29 30
+
+ May 2005 June 2005 July 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ August 2005 September 2005 October 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ November 2005 December 2005 January 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+27 28 29 30 25 26 27 28 29 30 31 29 30 31
+
+ February 2006 March 2006 April 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 3 4 1
+ 5 6 7 8 9 10 11 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+12 13 14 15 16 17 18 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+19 20 21 22 23 24 25 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+26 27 28 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30
+ May 2006 June 2006 July 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ November 2006 December 2006 January 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
+ 31
+ February 2007 March 2007 April 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 1 2 3 4 5 6 7
+ 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+25 26 27 28 25 26 27 28 29 30 31 29 30
+
+ May 2007 June 2007 July 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ August 2007 September 2007 October 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ November 2007 December 2007 January 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 1 2 3 4 5
+ 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
+ 30 31
+ February 2008 March 2008 April 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 1 2 3 4 5
+ 3 4 5 6 7 8 9 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+10 11 12 13 14 15 16 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+17 18 19 20 21 22 23 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+24 25 26 27 28 29 23 24 25 26 27 28 29 27 28 29 30
+ 30 31
+ May 2008 June 2008 July 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ August 2008 September 2008 October 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
+ November 2008 December 2008 January 2009
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 1 2 3
+ 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 31
+30
+ February 2009 March 2009 April 2009
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4
+ 8 9 10 11 12 13 14 8 9 10 11 12 13 14 5 6 7 8 9 10 11
+15 16 17 18 19 20 21 15 16 17 18 19 20 21 12 13 14 15 16 17 18
+22 23 24 25 26 27 28 22 23 24 25 26 27 28 19 20 21 22 23 24 25
+ 29 30 31 26 27 28 29 30
+
+ May 2009 June 2009 July 2009
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
+ August 2009 September 2009 October 2009
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+ November 2009 December 2009 January 2010
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 5 1 2
+ 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+29 30 27 28 29 30 31 24 25 26 27 28 29 30
+ 31
+ February 2010 March 2010 April 2010
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3
+ 7 8 9 10 11 12 13 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+14 15 16 17 18 19 20 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+21 22 23 24 25 26 27 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+28 28 29 30 31 25 26 27 28 29 30
+
+ May 2010 June 2010 July 2010
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
+ August 2010 September 2010 October 2010
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ November 2010 December 2010 January 2011
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 1
+ 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30 31
+ February 2011 March 2011 April 2011
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 4 5 1 2
+ 6 7 8 9 10 11 12 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+13 14 15 16 17 18 19 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+20 21 22 23 24 25 26 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+27 28 27 28 29 30 31 24 25 26 27 28 29 30
+
+ May 2011 June 2011 July 2011
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ August 2011 September 2011 October 2011
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ November 2011 December 2011 January 2012
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+27 28 29 30 25 26 27 28 29 30 31 29 30 31
+
+ February 2012 March 2012 April 2012
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 3 1 2 3 4 5 6 7
+ 5 6 7 8 9 10 11 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+12 13 14 15 16 17 18 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+19 20 21 22 23 24 25 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+26 27 28 29 25 26 27 28 29 30 31 29 30
+
+ May 2012 June 2012 July 2012
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ August 2012 September 2012 October 2012
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ November 2012 December 2012 January 2013
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 1 2 3 4 5
+ 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
+ 30 31
+ February 2013 March 2013 April 2013
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 1 2 3 4 5 6
+ 3 4 5 6 7 8 9 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+10 11 12 13 14 15 16 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+17 18 19 20 21 22 23 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+24 25 26 27 28 24 25 26 27 28 29 30 28 29 30
+ 31
+ May 2013 June 2013 July 2013
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ August 2013 September 2013 October 2013
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ November 2013 December 2013 January 2014
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 7 1 2 3 4
+ 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 31
+
+ February 2014 March 2014 April 2014
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 1 2 3 4 5
+ 2 3 4 5 6 7 8 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+ 9 10 11 12 13 14 15 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+16 17 18 19 20 21 22 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+23 24 25 26 27 28 23 24 25 26 27 28 29 27 28 29 30
+ 30 31
+ May 2014 June 2014 July 2014
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ August 2014 September 2014 October 2014
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
+ November 2014 December 2014 January 2015
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 1 2 3
+ 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30 31
+30
diff --git a/tests/expected/cal/month-Sn21 b/tests/expected/cal/month-Sn21
new file mode 100644
index 0000000..128975f
--- /dev/null
+++ b/tests/expected/cal/month-Sn21
@@ -0,0 +1,57 @@
+Large span
+ November 2005 December 2005 January 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+27 28 29 30 25 26 27 28 29 30 31 29 30 31
+
+ February 2006 March 2006 April 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 3 4 1
+ 5 6 7 8 9 10 11 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+12 13 14 15 16 17 18 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+19 20 21 22 23 24 25 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+26 27 28 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30
+ May 2006 June 2006 July 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ November 2006 December 2006 January 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
+ 31
+ February 2007 March 2007 April 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 1 2 3 4 5 6 7
+ 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+25 26 27 28 25 26 27 28 29 30 31 29 30
+
+ May 2007 June 2007 July 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
diff --git a/tests/expected/cal/month-Sn3 b/tests/expected/cal/month-Sn3
new file mode 100644
index 0000000..0f03e03
--- /dev/null
+++ b/tests/expected/cal/month-Sn3
@@ -0,0 +1,9 @@
+Normal span
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
diff --git a/tests/expected/cal/month-Sn51 b/tests/expected/cal/month-Sn51
new file mode 100644
index 0000000..f899b44
--- /dev/null
+++ b/tests/expected/cal/month-Sn51
@@ -0,0 +1,137 @@
+Very Large span
+ August 2004 September 2004 October 2004
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ November 2004 December 2004 January 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 4 1
+ 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30 31
+ February 2005 March 2005 April 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 4 5 1 2
+ 6 7 8 9 10 11 12 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+13 14 15 16 17 18 19 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+20 21 22 23 24 25 26 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+27 28 27 28 29 30 31 24 25 26 27 28 29 30
+
+ May 2005 June 2005 July 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
+ August 2005 September 2005 October 2005
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ November 2005 December 2005 January 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+27 28 29 30 25 26 27 28 29 30 31 29 30 31
+
+ February 2006 March 2006 April 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 3 4 1
+ 5 6 7 8 9 10 11 5 6 7 8 9 10 11 2 3 4 5 6 7 8
+12 13 14 15 16 17 18 12 13 14 15 16 17 18 9 10 11 12 13 14 15
+19 20 21 22 23 24 25 19 20 21 22 23 24 25 16 17 18 19 20 21 22
+26 27 28 26 27 28 29 30 31 23 24 25 26 27 28 29
+ 30
+ May 2006 June 2006 July 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 1 2 3 1
+ 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
+14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
+21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
+28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
+ 30 31
+ August 2006 September 2006 October 2006
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ November 2006 December 2006 January 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 2 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
+26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31
+ 31
+ February 2007 March 2007 April 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 1 2 3 4 5 6 7
+ 4 5 6 7 8 9 10 4 5 6 7 8 9 10 8 9 10 11 12 13 14
+11 12 13 14 15 16 17 11 12 13 14 15 16 17 15 16 17 18 19 20 21
+18 19 20 21 22 23 24 18 19 20 21 22 23 24 22 23 24 25 26 27 28
+25 26 27 28 25 26 27 28 29 30 31 29 30
+
+ May 2007 June 2007 July 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 1 2 1 2 3 4 5 6 7
+ 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
+13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
+20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
+27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
+
+ August 2007 September 2007 October 2007
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 1 1 2 3 4 5 6
+ 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
+12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
+19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
+26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
+ 30
+ November 2007 December 2007 January 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 1 2 3 4 5
+ 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 31
+ 30 31
+ February 2008 March 2008 April 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 1 2 3 4 5
+ 3 4 5 6 7 8 9 2 3 4 5 6 7 8 6 7 8 9 10 11 12
+10 11 12 13 14 15 16 9 10 11 12 13 14 15 13 14 15 16 17 18 19
+17 18 19 20 21 22 23 16 17 18 19 20 21 22 20 21 22 23 24 25 26
+24 25 26 27 28 29 23 24 25 26 27 28 29 27 28 29 30
+ 30 31
+ May 2008 June 2008 July 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5
+ 4 5 6 7 8 9 10 8 9 10 11 12 13 14 6 7 8 9 10 11 12
+11 12 13 14 15 16 17 15 16 17 18 19 20 21 13 14 15 16 17 18 19
+18 19 20 21 22 23 24 22 23 24 25 26 27 28 20 21 22 23 24 25 26
+25 26 27 28 29 30 31 29 30 27 28 29 30 31
+
+ August 2008 September 2008 October 2008
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 1 2 3 4 5 6 1 2 3 4
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
+31
diff --git a/tests/expected/cal/sep1752-1m-month b/tests/expected/cal/sep1752-1m-month
new file mode 100644
index 0000000..d2815bc
--- /dev/null
+++ b/tests/expected/cal/sep1752-1m-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based month
+ September 1752
+Mo Tu We Th Fr Sa Su
+ 1 2 14 15 16 17
+18 19 20 21 22 23 24
+25 26 27 28 29 30
+
+
+
diff --git a/tests/expected/cal/sep1752-1m-year b/tests/expected/cal/sep1752-1m-year
new file mode 100644
index 0000000..305a547
--- /dev/null
+++ b/tests/expected/cal/sep1752-1m-year
@@ -0,0 +1,9 @@
+Gregorian - Monday-based year
+ January 1752
+Mo Tu We Th Fr Sa Su
+ 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
+
diff --git a/tests/expected/cal/sep1752-1mj-month b/tests/expected/cal/sep1752-1mj-month
new file mode 100644
index 0000000..e62da4d
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mj-month
@@ -0,0 +1,9 @@
+Julian - Monday-based month
+ September 1752
+Mon Tue Wed Thu Fri Sat Sun
+ 245 246 258 259 260 261
+262 263 264 265 266 267 268
+269 270 271 272 273 274
+
+
+
diff --git a/tests/expected/cal/sep1752-1mj-year b/tests/expected/cal/sep1752-1mj-year
new file mode 100644
index 0000000..b107e42
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mj-year
@@ -0,0 +1,9 @@
+Julian - Monday-based year
+ January 1752
+Mon Tue Wed Thu Fri Sat Sun
+ 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
+
diff --git a/tests/expected/cal/sep1752-1mjw-month b/tests/expected/cal/sep1752-1mjw-month
new file mode 100644
index 0000000..e9bd0e9
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mjw-month
@@ -0,0 +1,9 @@
+Julian - Monday-based month with week numbers
+ September 1752
+ Mon Tue Wed Thu Fri Sat Sun
+36 245 246 258 259 260 261
+37 262 263 264 265 266 267 268
+38 269 270 271 272 273 274
+
+
+
diff --git a/tests/expected/cal/sep1752-1mjw-year b/tests/expected/cal/sep1752-1mjw-year
new file mode 100644
index 0000000..bab6c78
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mjw-year
@@ -0,0 +1,9 @@
+Julian - Monday-based year with week numbers
+ January 1752
+ Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5
+ 2 6 7 8 9 10 11 12
+ 3 13 14 15 16 17 18 19
+ 4 20 21 22 23 24 25 26
+ 5 27 28 29 30 31
+
diff --git a/tests/expected/cal/sep1752-1mw-month b/tests/expected/cal/sep1752-1mw-month
new file mode 100644
index 0000000..3195ff0
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mw-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based month with week numbers
+ September 1752
+ Mo Tu We Th Fr Sa Su
+36 1 2 14 15 16 17
+37 18 19 20 21 22 23 24
+38 25 26 27 28 29 30
+
+
+
diff --git a/tests/expected/cal/sep1752-1mw-year b/tests/expected/cal/sep1752-1mw-year
new file mode 100644
index 0000000..a039ebc
--- /dev/null
+++ b/tests/expected/cal/sep1752-1mw-year
@@ -0,0 +1,9 @@
+Gregorian - Monday-based year with week numbers
+ January 1752
+ Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5
+ 2 6 7 8 9 10 11 12
+ 3 13 14 15 16 17 18 19
+ 4 20 21 22 23 24 25 26
+ 5 27 28 29 30 31
+
diff --git a/tests/expected/cal/sep1752-1s-month b/tests/expected/cal/sep1752-1s-month
new file mode 100644
index 0000000..07472ac
--- /dev/null
+++ b/tests/expected/cal/sep1752-1s-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based month
+ September 1752
+Su Mo Tu We Th Fr Sa
+ 1 2 14 15 16
+17 18 19 20 21 22 23
+24 25 26 27 28 29 30
+
+
+
diff --git a/tests/expected/cal/sep1752-1s-year b/tests/expected/cal/sep1752-1s-year
new file mode 100644
index 0000000..e6a5da3
--- /dev/null
+++ b/tests/expected/cal/sep1752-1s-year
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based year
+ January 1752
+Su Mo Tu We Th Fr Sa
+ 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
+
diff --git a/tests/expected/cal/sep1752-1sj-month b/tests/expected/cal/sep1752-1sj-month
new file mode 100644
index 0000000..b6fb6d9
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sj-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based month
+ September 1752
+Sun Mon Tue Wed Thu Fri Sat
+ 245 246 258 259 260
+261 262 263 264 265 266 267
+268 269 270 271 272 273 274
+
+
+
diff --git a/tests/expected/cal/sep1752-1sj-year b/tests/expected/cal/sep1752-1sj-year
new file mode 100644
index 0000000..b932fe7
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sj-year
@@ -0,0 +1,9 @@
+Julian - Sunday-based year
+ January 1752
+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
+
diff --git a/tests/expected/cal/sep1752-1sjw-month b/tests/expected/cal/sep1752-1sjw-month
new file mode 100644
index 0000000..45052d4
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sjw-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based month with week numbers
+ September 1752
+ Sun Mon Tue Wed Thu Fri Sat
+36 245 246 258 259 260
+37 261 262 263 264 265 266 267
+38 268 269 270 271 272 273 274
+
+
+
diff --git a/tests/expected/cal/sep1752-1sjw-year b/tests/expected/cal/sep1752-1sjw-year
new file mode 100644
index 0000000..fb59860
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sjw-year
@@ -0,0 +1,9 @@
+Julian - Sunday-based year with week numbers
+ January 1752
+ Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4
+ 2 5 6 7 8 9 10 11
+ 3 12 13 14 15 16 17 18
+ 4 19 20 21 22 23 24 25
+ 5 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/sep1752-1sw-month b/tests/expected/cal/sep1752-1sw-month
new file mode 100644
index 0000000..24e3c06
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sw-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based month with week numbers
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1 2 14 15 16
+37 17 18 19 20 21 22 23
+38 24 25 26 27 28 29 30
+
+
+
diff --git a/tests/expected/cal/sep1752-1sw-year b/tests/expected/cal/sep1752-1sw-year
new file mode 100644
index 0000000..7583db3
--- /dev/null
+++ b/tests/expected/cal/sep1752-1sw-year
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based year with week numbers
+ January 1752
+ Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4
+ 2 5 6 7 8 9 10 11
+ 3 12 13 14 15 16 17 18
+ 4 19 20 21 22 23 24 25
+ 5 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/sep1752-3m-month b/tests/expected/cal/sep1752-3m-month
new file mode 100644
index 0000000..67bfa64
--- /dev/null
+++ b/tests/expected/cal/sep1752-3m-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based three months
+ August 1752 September 1752 October 1752
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 1 2 14 15 16 17 1
+ 3 4 5 6 7 8 9 18 19 20 21 22 23 24 2 3 4 5 6 7 8
+10 11 12 13 14 15 16 25 26 27 28 29 30 9 10 11 12 13 14 15
+17 18 19 20 21 22 23 16 17 18 19 20 21 22
+24 25 26 27 28 29 30 23 24 25 26 27 28 29
+31 30 31
diff --git a/tests/expected/cal/sep1752-3mj-month b/tests/expected/cal/sep1752-3mj-month
new file mode 100644
index 0000000..83b91ee
--- /dev/null
+++ b/tests/expected/cal/sep1752-3mj-month
@@ -0,0 +1,9 @@
+Julian - Monday-based three months
+ August 1752 September 1752 October 1752
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 214 215 245 246 258 259 260 261 275
+216 217 218 219 220 221 222 262 263 264 265 266 267 268 276 277 278 279 280 281 282
+223 224 225 226 227 228 229 269 270 271 272 273 274 283 284 285 286 287 288 289
+230 231 232 233 234 235 236 290 291 292 293 294 295 296
+237 238 239 240 241 242 243 297 298 299 300 301 302 303
+244 304 305
diff --git a/tests/expected/cal/sep1752-3mjw-month b/tests/expected/cal/sep1752-3mjw-month
new file mode 100644
index 0000000..4ec9b93
--- /dev/null
+++ b/tests/expected/cal/sep1752-3mjw-month
@@ -0,0 +1,9 @@
+Julian - Monday-based three months with week numbers
+ August 1752 September 1752 October 1752
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+31 214 215 36 245 246 258 259 260 261 38 275
+32 216 217 218 219 220 221 222 37 262 263 264 265 266 267 268 39 276 277 278 279 280 281 282
+33 223 224 225 226 227 228 229 38 269 270 271 272 273 274 40 283 284 285 286 287 288 289
+34 230 231 232 233 234 235 236 41 290 291 292 293 294 295 296
+35 237 238 239 240 241 242 243 42 297 298 299 300 301 302 303
+36 244 43 304 305
diff --git a/tests/expected/cal/sep1752-3mw-month b/tests/expected/cal/sep1752-3mw-month
new file mode 100644
index 0000000..0e5d844
--- /dev/null
+++ b/tests/expected/cal/sep1752-3mw-month
@@ -0,0 +1,9 @@
+Gregorian - Monday-based three months with week numbers
+ August 1752 September 1752 October 1752
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+31 1 2 36 1 2 14 15 16 17 38 1
+32 3 4 5 6 7 8 9 37 18 19 20 21 22 23 24 39 2 3 4 5 6 7 8
+33 10 11 12 13 14 15 16 38 25 26 27 28 29 30 40 9 10 11 12 13 14 15
+34 17 18 19 20 21 22 23 41 16 17 18 19 20 21 22
+35 24 25 26 27 28 29 30 42 23 24 25 26 27 28 29
+36 31 43 30 31
diff --git a/tests/expected/cal/sep1752-3s-month b/tests/expected/cal/sep1752-3s-month
new file mode 100644
index 0000000..cdf504b
--- /dev/null
+++ b/tests/expected/cal/sep1752-3s-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based three months
+ August 1752 September 1752 October 1752
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 14 15 16 1 2 3 4 5 6 7
+ 2 3 4 5 6 7 8 17 18 19 20 21 22 23 8 9 10 11 12 13 14
+ 9 10 11 12 13 14 15 24 25 26 27 28 29 30 15 16 17 18 19 20 21
+16 17 18 19 20 21 22 22 23 24 25 26 27 28
+23 24 25 26 27 28 29 29 30 31
+30 31
diff --git a/tests/expected/cal/sep1752-3sj-month b/tests/expected/cal/sep1752-3sj-month
new file mode 100644
index 0000000..4171e58
--- /dev/null
+++ b/tests/expected/cal/sep1752-3sj-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based three months
+ August 1752 September 1752 October 1752
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 214 245 246 258 259 260 275 276 277 278 279 280 281
+215 216 217 218 219 220 221 261 262 263 264 265 266 267 282 283 284 285 286 287 288
+222 223 224 225 226 227 228 268 269 270 271 272 273 274 289 290 291 292 293 294 295
+229 230 231 232 233 234 235 296 297 298 299 300 301 302
+236 237 238 239 240 241 242 303 304 305
+243 244
diff --git a/tests/expected/cal/sep1752-3sjw-month b/tests/expected/cal/sep1752-3sjw-month
new file mode 100644
index 0000000..187d382
--- /dev/null
+++ b/tests/expected/cal/sep1752-3sjw-month
@@ -0,0 +1,9 @@
+Julian - Sunday-based three months with week numbers
+ August 1752 September 1752 October 1752
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+31 214 36 245 246 258 259 260 39 275 276 277 278 279 280 281
+32 215 216 217 218 219 220 221 37 261 262 263 264 265 266 267 40 282 283 284 285 286 287 288
+33 222 223 224 225 226 227 228 38 268 269 270 271 272 273 274 41 289 290 291 292 293 294 295
+34 229 230 231 232 233 234 235 42 296 297 298 299 300 301 302
+35 236 237 238 239 240 241 242 43 303 304 305
+36 243 244
diff --git a/tests/expected/cal/sep1752-3sw-month b/tests/expected/cal/sep1752-3sw-month
new file mode 100644
index 0000000..c7c2986
--- /dev/null
+++ b/tests/expected/cal/sep1752-3sw-month
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based three months with week numbers
+ August 1752 September 1752 October 1752
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+31 1 36 1 2 14 15 16 39 1 2 3 4 5 6 7
+32 2 3 4 5 6 7 8 37 17 18 19 20 21 22 23 40 8 9 10 11 12 13 14
+33 9 10 11 12 13 14 15 38 24 25 26 27 28 29 30 41 15 16 17 18 19 20 21
+34 16 17 18 19 20 21 22 42 22 23 24 25 26 27 28
+35 23 24 25 26 27 28 29 43 29 30 31
+36 30 31
diff --git a/tests/expected/cal/sep1752-week-iso b/tests/expected/cal/sep1752-week-iso
new file mode 100644
index 0000000..18d0160
--- /dev/null
+++ b/tests/expected/cal/sep1752-week-iso
@@ -0,0 +1,9 @@
+Gregorian - address by week number
+ September 1752
+ Su Mo Tu We Th Fr Sa
+36 1 2
+37 3 4 5 6 7 8 9
+38 10 11 12 13 14 15 16
+39 17 18 19 20 21 22 23
+40 24 25 26 27 28 29 30
+
diff --git a/tests/expected/cal/weekarg-1m-week53 b/tests/expected/cal/weekarg-1m-week53
new file mode 100644
index 0000000..aeffd5e
--- /dev/null
+++ b/tests/expected/cal/weekarg-1m-week53
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 53, 1 month
+ January 2010
+ Mo Tu We Th Fr Sa Su
+53 1 2 3
+ 1 4 5 6 7 8 9 10
+ 2 11 12 13 14 15 16 17
+ 3 18 19 20 21 22 23 24
+ 4 25 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-1m-week53-color b/tests/expected/cal/weekarg-1m-week53-color
new file mode 100644
index 0000000..0e9edfb
--- /dev/null
+++ b/tests/expected/cal/weekarg-1m-week53-color
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 53, 1 month
+ January 2010
+ Mo Tu We Th Fr Sa Su
+53 1 2 3
+ 1 4 5 6 7 8 9 10
+ 2 11 12 13 14 15 16 17
+ 3 18 19 20 21 22 23 24
+ 4 25 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-1mj-week53 b/tests/expected/cal/weekarg-1mj-week53
new file mode 100644
index 0000000..fd9cdfc
--- /dev/null
+++ b/tests/expected/cal/weekarg-1mj-week53
@@ -0,0 +1,9 @@
+Julian - Monday-based, week 53, 1 month
+ January 2010
+ Mon Tue Wed Thu Fri Sat Sun
+53 1 2 3
+ 1 4 5 6 7 8 9 10
+ 2 11 12 13 14 15 16 17
+ 3 18 19 20 21 22 23 24
+ 4 25 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-1mj-week53-color b/tests/expected/cal/weekarg-1mj-week53-color
new file mode 100644
index 0000000..8f73100
--- /dev/null
+++ b/tests/expected/cal/weekarg-1mj-week53-color
@@ -0,0 +1,9 @@
+Julian - Monday-based, week 53, 1 month
+ January 2010
+ Mon Tue Wed Thu Fri Sat Sun
+53 1 2 3
+ 1 4 5 6 7 8 9 10
+ 2 11 12 13 14 15 16 17
+ 3 18 19 20 21 22 23 24
+ 4 25 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-3m-week40 b/tests/expected/cal/weekarg-3m-week40
new file mode 100644
index 0000000..e77bc7b
--- /dev/null
+++ b/tests/expected/cal/weekarg-3m-week40
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+35 1 40 1 2 3 4 5 6 44 1 2 3
+36 2 3 4 5 6 7 8 41 7 8 9 10 11 12 13 45 4 5 6 7 8 9 10
+37 9 10 11 12 13 14 15 42 14 15 16 17 18 19 20 46 11 12 13 14 15 16 17
+38 16 17 18 19 20 21 22 43 21 22 23 24 25 26 27 47 18 19 20 21 22 23 24
+39 23 24 25 26 27 28 29 44 28 29 30 31 48 25 26 27 28 29 30
+40 30
diff --git a/tests/expected/cal/weekarg-3m-week40-color b/tests/expected/cal/weekarg-3m-week40-color
new file mode 100644
index 0000000..8039f44
--- /dev/null
+++ b/tests/expected/cal/weekarg-3m-week40-color
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+35 1 40 1 2 3 4 5 6 44 1 2 3
+36 2 3 4 5 6 7 8 41  7 8 9 10 11 12 13 45 4 5 6 7 8 9 10
+37 9 10 11 12 13 14 15 42 14 15 16 17 18 19 20 46 11 12 13 14 15 16 17
+38 16 17 18 19 20 21 22 43 21 22 23 24 25 26 27 47 18 19 20 21 22 23 24
+39 23 24 25 26 27 28 29 44 28 29 30 31 48 25 26 27 28 29 30
+40 30
diff --git a/tests/expected/cal/weekarg-3m-week52-color b/tests/expected/cal/weekarg-3m-week52-color
new file mode 100644
index 0000000..f15faf1
--- /dev/null
+++ b/tests/expected/cal/weekarg-3m-week52-color
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 52, 3 month
+ November 2000 December 2000 January 2001
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+44 1 2 3 4 5 48 1 2 3 1 1 2 3 4 5 6 7
+45 6 7 8 9 10 11 12 49 4 5 6 7 8 9 10 2 8 9 10 11 12 13 14
+46 13 14 15 16 17 18 19 50 11 12 13 14 15 16 17 3 15 16 17 18 19 20 21
+47 20 21 22 23 24 25 26 51 18 19 20 21 22 23 24 4 22 23 24 25 26 27 28
+48 27 28 29 30 52 25 26 27 28 29 30 31 5 29 30 31
+
diff --git a/tests/expected/cal/weekarg-3m-week53-color b/tests/expected/cal/weekarg-3m-week53-color
new file mode 100644
index 0000000..b8c7abf
--- /dev/null
+++ b/tests/expected/cal/weekarg-3m-week53-color
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 53, 3 month
+ December 2009 January 2010 February 2010
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+49 1 2 3 4 5 6 53 1 2 3 5 1 2 3 4 5 6 7
+50 7 8 9 10 11 12 13 1 4 5 6 7 8 9 10 6 8 9 10 11 12 13 14
+51 14 15 16 17 18 19 20 2 11 12 13 14 15 16 17 7 15 16 17 18 19 20 21
+52 21 22 23 24 25 26 27 3 18 19 20 21 22 23 24 8 22 23 24 25 26 27 28
+53 28 29 30 31 4 25 26 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-3mj-week40 b/tests/expected/cal/weekarg-3mj-week40
new file mode 100644
index 0000000..9613d9d
--- /dev/null
+++ b/tests/expected/cal/weekarg-3mj-week40
@@ -0,0 +1,9 @@
+Julian - Monday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+35 244 40 274 275 276 277 278 279 44 305 306 307
+36 245 246 247 248 249 250 251 41 280 281 282 283 284 285 286 45 308 309 310 311 312 313 314
+37 252 253 254 255 256 257 258 42 287 288 289 290 291 292 293 46 315 316 317 318 319 320 321
+38 259 260 261 262 263 264 265 43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328
+39 266 267 268 269 270 271 272 44 301 302 303 304 48 329 330 331 332 333 334
+40 273
diff --git a/tests/expected/cal/weekarg-3mj-week40-color b/tests/expected/cal/weekarg-3mj-week40-color
new file mode 100644
index 0000000..d377259
--- /dev/null
+++ b/tests/expected/cal/weekarg-3mj-week40-color
@@ -0,0 +1,9 @@
+Julian - Monday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+35 244 40 274 275 276 277 278 279 44 305 306 307
+36 245 246 247 248 249 250 251 41 280 281 282 283 284 285 286 45 308 309 310 311 312 313 314
+37 252 253 254 255 256 257 258 42 287 288 289 290 291 292 293 46 315 316 317 318 319 320 321
+38 259 260 261 262 263 264 265 43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328
+39 266 267 268 269 270 271 272 44 301 302 303 304 48 329 330 331 332 333 334
+40 273
diff --git a/tests/expected/cal/weekarg-3s-week40 b/tests/expected/cal/weekarg-3s-week40
new file mode 100644
index 0000000..11f7c84
--- /dev/null
+++ b/tests/expected/cal/weekarg-3s-week40
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+36 1 2 3 4 5 6 7 40 1 2 3 4 5 44 1 2
+37 8 9 10 11 12 13 14 41 6 7 8 9 10 11 12 45 3 4 5 6 7 8 9
+38 15 16 17 18 19 20 21 42 13 14 15 16 17 18 19 46 10 11 12 13 14 15 16
+39 22 23 24 25 26 27 28 43 20 21 22 23 24 25 26 47 17 18 19 20 21 22 23
+40 29 30 44 27 28 29 30 31 48 24 25 26 27 28 29 30
+
diff --git a/tests/expected/cal/weekarg-3s-week54-color b/tests/expected/cal/weekarg-3s-week54-color
new file mode 100644
index 0000000..8ecca4b
--- /dev/null
+++ b/tests/expected/cal/weekarg-3s-week54-color
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based, week 54, 3 month
+ November 2000 December 2000 January 2001
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+45 1 2 3 4 49 1 2 1 1 2 3 4 5 6
+46 5 6 7 8 9 10 11 50 3 4 5 6 7 8 9 2 7 8 9 10 11 12 13
+47 12 13 14 15 16 17 18 51 10 11 12 13 14 15 16 3 14 15 16 17 18 19 20
+48 19 20 21 22 23 24 25 52 17 18 19 20 21 22 23 4 21 22 23 24 25 26 27
+49 26 27 28 29 30 53 24 25 26 27 28 29 30 5 28 29 30 31
+ 54 31
diff --git a/tests/expected/cal/weekarg-3sj-week40 b/tests/expected/cal/weekarg-3sj-week40
new file mode 100644
index 0000000..a20ecb8
--- /dev/null
+++ b/tests/expected/cal/weekarg-3sj-week40
@@ -0,0 +1,9 @@
+Julian - Sunday-based, week 40, 3 month
+ September 2013 October 2013 November 2013
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+36 244 245 246 247 248 249 250 40 274 275 276 277 278 44 305 306
+37 251 252 253 254 255 256 257 41 279 280 281 282 283 284 285 45 307 308 309 310 311 312 313
+38 258 259 260 261 262 263 264 42 286 287 288 289 290 291 292 46 314 315 316 317 318 319 320
+39 265 266 267 268 269 270 271 43 293 294 295 296 297 298 299 47 321 322 323 324 325 326 327
+40 272 273 44 300 301 302 303 304 48 328 329 330 331 332 333 334
+
diff --git a/tests/expected/cal/weekarg-m-week40 b/tests/expected/cal/weekarg-m-week40
new file mode 100644
index 0000000..5361f86
--- /dev/null
+++ b/tests/expected/cal/weekarg-m-week40
@@ -0,0 +1,9 @@
+Gregorian - Monday-based, week 40, 1 month
+ October 2013
+ Mo Tu We Th Fr Sa Su
+40 1 2 3 4 5 6
+41 7 8 9 10 11 12 13
+42 14 15 16 17 18 19 20
+43 21 22 23 24 25 26 27
+44 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-mj-week40 b/tests/expected/cal/weekarg-mj-week40
new file mode 100644
index 0000000..f526c30
--- /dev/null
+++ b/tests/expected/cal/weekarg-mj-week40
@@ -0,0 +1,9 @@
+Julian - Monday-based, week 40, 1 month
+ October 2013
+ Mon Tue Wed Thu Fri Sat Sun
+40 274 275 276 277 278 279
+41 280 281 282 283 284 285 286
+42 287 288 289 290 291 292 293
+43 294 295 296 297 298 299 300
+44 301 302 303 304
+
diff --git a/tests/expected/cal/weekarg-s-week40 b/tests/expected/cal/weekarg-s-week40
new file mode 100644
index 0000000..207db45
--- /dev/null
+++ b/tests/expected/cal/weekarg-s-week40
@@ -0,0 +1,9 @@
+Gregorian - Sunday-based, week 40, 1 month
+ October 2013
+ Su Mo Tu We Th Fr Sa
+40 1 2 3 4 5
+41 6 7 8 9 10 11 12
+42 13 14 15 16 17 18 19
+43 20 21 22 23 24 25 26
+44 27 28 29 30 31
+
diff --git a/tests/expected/cal/weekarg-sj-week40 b/tests/expected/cal/weekarg-sj-week40
new file mode 100644
index 0000000..51ac788
--- /dev/null
+++ b/tests/expected/cal/weekarg-sj-week40
@@ -0,0 +1,9 @@
+Julian - Sunday-based, week 40, 1 month
+ October 2013
+ Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 277 278
+41 279 280 281 282 283 284 285
+42 286 287 288 289 290 291 292
+43 293 294 295 296 297 298 299
+44 300 301 302 303 304
+
diff --git a/tests/expected/cal/weeknum b/tests/expected/cal/weeknum
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/cal/weeknum
diff --git a/tests/expected/cal/weeknum-3mjw b/tests/expected/cal/weeknum-3mjw
new file mode 100644
index 0000000..3c525c6
--- /dev/null
+++ b/tests/expected/cal/weeknum-3mjw
@@ -0,0 +1,57 @@
+Julian - Monday-based week with week numbers - 3 month
+ December 2000 January 2001 February 2001
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+48 336 337 338 1 1 2 3 4 5 6 7 5 32 33 34 35
+49 339 340 341 342 343 344 345 2 8 9 10 11 12 13 14 6 36 37 38 39 40 41 42
+50 346 347 348 349 350 351 352 3 15 16 17 18 19 20 21 7 43 44 45 46 47 48 49
+51 353 354 355 356 357 358 359 4 22 23 24 25 26 27 28 8 50 51 52 53 54 55 56
+52 360 361 362 363 364 365 366 5 29 30 31 9 57 58 59
+
+ December 2001 January 2002 February 2002
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+48 335 336 1 1 2 3 4 5 6 5 32 33 34
+49 337 338 339 340 341 342 343 2 7 8 9 10 11 12 13 6 35 36 37 38 39 40 41
+50 344 345 346 347 348 349 350 3 14 15 16 17 18 19 20 7 42 43 44 45 46 47 48
+51 351 352 353 354 355 356 357 4 21 22 23 24 25 26 27 8 49 50 51 52 53 54 55
+52 358 359 360 361 362 363 364 5 28 29 30 31 9 56 57 58 59
+ 1 365
+ December 2002 January 2003 February 2003
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+48 335 1 1 2 3 4 5 5 32 33
+49 336 337 338 339 340 341 342 2 6 7 8 9 10 11 12 6 34 35 36 37 38 39 40
+50 343 344 345 346 347 348 349 3 13 14 15 16 17 18 19 7 41 42 43 44 45 46 47
+51 350 351 352 353 354 355 356 4 20 21 22 23 24 25 26 8 48 49 50 51 52 53 54
+52 357 358 359 360 361 362 363 5 27 28 29 30 31 9 55 56 57 58 59
+ 1 364 365
+ December 2008 January 2009 February 2009
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+49 336 337 338 339 340 341 342 1 1 2 3 4 5 32
+50 343 344 345 346 347 348 349 2 5 6 7 8 9 10 11 6 33 34 35 36 37 38 39
+51 350 351 352 353 354 355 356 3 12 13 14 15 16 17 18 7 40 41 42 43 44 45 46
+52 357 358 359 360 361 362 363 4 19 20 21 22 23 24 25 8 47 48 49 50 51 52 53
+ 1 364 365 366 5 26 27 28 29 30 31 9 54 55 56 57 58 59
+
+ December 2009 January 2010 February 2010
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+49 335 336 337 338 339 340 53 1 2 3 5 32 33 34 35 36 37 38
+50 341 342 343 344 345 346 347 1 4 5 6 7 8 9 10 6 39 40 41 42 43 44 45
+51 348 349 350 351 352 353 354 2 11 12 13 14 15 16 17 7 46 47 48 49 50 51 52
+52 355 356 357 358 359 360 361 3 18 19 20 21 22 23 24 8 53 54 55 56 57 58 59
+53 362 363 364 365 4 25 26 27 28 29 30 31
+
+ December 2010 January 2011 February 2011
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+48 335 336 337 338 339 52 1 2 5 32 33 34 35 36 37
+49 340 341 342 343 344 345 346 1 3 4 5 6 7 8 9 6 38 39 40 41 42 43 44
+50 347 348 349 350 351 352 353 2 10 11 12 13 14 15 16 7 45 46 47 48 49 50 51
+51 354 355 356 357 358 359 360 3 17 18 19 20 21 22 23 8 52 53 54 55 56 57 58
+52 361 362 363 364 365 4 24 25 26 27 28 29 30 9 59
+ 5 31
+ December 2011 January 2012 February 2012
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+48 335 336 337 338 52 1 5 32 33 34 35 36
+49 339 340 341 342 343 344 345 1 2 3 4 5 6 7 8 6 37 38 39 40 41 42 43
+50 346 347 348 349 350 351 352 2 9 10 11 12 13 14 15 7 44 45 46 47 48 49 50
+51 353 354 355 356 357 358 359 3 16 17 18 19 20 21 22 8 51 52 53 54 55 56 57
+52 360 361 362 363 364 365 4 23 24 25 26 27 28 29 9 58 59 60
+ 5 30 31
diff --git a/tests/expected/cal/weeknum-3mw b/tests/expected/cal/weeknum-3mw
new file mode 100644
index 0000000..92f1ab0
--- /dev/null
+++ b/tests/expected/cal/weeknum-3mw
@@ -0,0 +1,57 @@
+Gregorian - Monday-based week with week number
+ December 2000 January 2001 February 2001
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+48 1 2 3 1 1 2 3 4 5 6 7 5 1 2 3 4
+49 4 5 6 7 8 9 10 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11
+50 11 12 13 14 15 16 17 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18
+51 18 19 20 21 22 23 24 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25
+52 25 26 27 28 29 30 31 5 29 30 31 9 26 27 28
+
+ December 2001 January 2002 February 2002
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+48 1 2 1 1 2 3 4 5 6 5 1 2 3
+49 3 4 5 6 7 8 9 2 7 8 9 10 11 12 13 6 4 5 6 7 8 9 10
+50 10 11 12 13 14 15 16 3 14 15 16 17 18 19 20 7 11 12 13 14 15 16 17
+51 17 18 19 20 21 22 23 4 21 22 23 24 25 26 27 8 18 19 20 21 22 23 24
+52 24 25 26 27 28 29 30 5 28 29 30 31 9 25 26 27 28
+ 1 31
+ December 2002 January 2003 February 2003
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+48 1 1 1 2 3 4 5 5 1 2
+49 2 3 4 5 6 7 8 2 6 7 8 9 10 11 12 6 3 4 5 6 7 8 9
+50 9 10 11 12 13 14 15 3 13 14 15 16 17 18 19 7 10 11 12 13 14 15 16
+51 16 17 18 19 20 21 22 4 20 21 22 23 24 25 26 8 17 18 19 20 21 22 23
+52 23 24 25 26 27 28 29 5 27 28 29 30 31 9 24 25 26 27 28
+ 1 30 31
+ December 2008 January 2009 February 2009
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+49 1 2 3 4 5 6 7 1 1 2 3 4 5 1
+50 8 9 10 11 12 13 14 2 5 6 7 8 9 10 11 6 2 3 4 5 6 7 8
+51 15 16 17 18 19 20 21 3 12 13 14 15 16 17 18 7 9 10 11 12 13 14 15
+52 22 23 24 25 26 27 28 4 19 20 21 22 23 24 25 8 16 17 18 19 20 21 22
+ 1 29 30 31 5 26 27 28 29 30 31 9 23 24 25 26 27 28
+
+ December 2009 January 2010 February 2010
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+49 1 2 3 4 5 6 53 1 2 3 5 1 2 3 4 5 6 7
+50 7 8 9 10 11 12 13 1 4 5 6 7 8 9 10 6 8 9 10 11 12 13 14
+51 14 15 16 17 18 19 20 2 11 12 13 14 15 16 17 7 15 16 17 18 19 20 21
+52 21 22 23 24 25 26 27 3 18 19 20 21 22 23 24 8 22 23 24 25 26 27 28
+53 28 29 30 31 4 25 26 27 28 29 30 31
+
+ December 2010 January 2011 February 2011
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+48 1 2 3 4 5 52 1 2 5 1 2 3 4 5 6
+49 6 7 8 9 10 11 12 1 3 4 5 6 7 8 9 6 7 8 9 10 11 12 13
+50 13 14 15 16 17 18 19 2 10 11 12 13 14 15 16 7 14 15 16 17 18 19 20
+51 20 21 22 23 24 25 26 3 17 18 19 20 21 22 23 8 21 22 23 24 25 26 27
+52 27 28 29 30 31 4 24 25 26 27 28 29 30 9 28
+ 5 31
+ December 2011 January 2012 February 2012
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+48 1 2 3 4 52 1 5 1 2 3 4 5
+49 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 6 6 7 8 9 10 11 12
+50 12 13 14 15 16 17 18 2 9 10 11 12 13 14 15 7 13 14 15 16 17 18 19
+51 19 20 21 22 23 24 25 3 16 17 18 19 20 21 22 8 20 21 22 23 24 25 26
+52 26 27 28 29 30 31 4 23 24 25 26 27 28 29 9 27 28 29
+ 5 30 31
diff --git a/tests/expected/cal/weeknum-3sjw b/tests/expected/cal/weeknum-3sjw
new file mode 100644
index 0000000..787d25c
--- /dev/null
+++ b/tests/expected/cal/weeknum-3sjw
@@ -0,0 +1,57 @@
+Julian - Sunday-based week with week numbers - 3 month
+ December 2000 January 2001 February 2001
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 336 337 1 1 2 3 4 5 6 5 32 33 34
+50 338 339 340 341 342 343 344 2 7 8 9 10 11 12 13 6 35 36 37 38 39 40 41
+51 345 346 347 348 349 350 351 3 14 15 16 17 18 19 20 7 42 43 44 45 46 47 48
+52 352 353 354 355 356 357 358 4 21 22 23 24 25 26 27 8 49 50 51 52 53 54 55
+53 359 360 361 362 363 364 365 5 28 29 30 31 9 56 57 58 59
+54 366
+ December 2001 January 2002 February 2002
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+48 335 1 1 2 3 4 5 5 32 33
+49 336 337 338 339 340 341 342 2 6 7 8 9 10 11 12 6 34 35 36 37 38 39 40
+50 343 344 345 346 347 348 349 3 13 14 15 16 17 18 19 7 41 42 43 44 45 46 47
+51 350 351 352 353 354 355 356 4 20 21 22 23 24 25 26 8 48 49 50 51 52 53 54
+52 357 358 359 360 361 362 363 5 27 28 29 30 31 9 55 56 57 58 59
+53 364 365
+ December 2002 January 2003 February 2003
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 335 336 337 338 339 340 341 1 1 2 3 4 5 32
+50 342 343 344 345 346 347 348 2 5 6 7 8 9 10 11 6 33 34 35 36 37 38 39
+51 349 350 351 352 353 354 355 3 12 13 14 15 16 17 18 7 40 41 42 43 44 45 46
+52 356 357 358 359 360 361 362 4 19 20 21 22 23 24 25 8 47 48 49 50 51 52 53
+53 363 364 365 5 26 27 28 29 30 31 9 54 55 56 57 58 59
+
+ December 2008 January 2009 February 2009
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 336 337 338 339 340 341 1 1 2 3 6 32 33 34 35 36 37 38
+50 342 343 344 345 346 347 348 2 4 5 6 7 8 9 10 7 39 40 41 42 43 44 45
+51 349 350 351 352 353 354 355 3 11 12 13 14 15 16 17 8 46 47 48 49 50 51 52
+52 356 357 358 359 360 361 362 4 18 19 20 21 22 23 24 9 53 54 55 56 57 58 59
+53 363 364 365 366 5 25 26 27 28 29 30 31
+
+ December 2009 January 2010 February 2010
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 335 336 337 338 339 1 1 2 6 32 33 34 35 36 37
+50 340 341 342 343 344 345 346 2 3 4 5 6 7 8 9 7 38 39 40 41 42 43 44
+51 347 348 349 350 351 352 353 3 10 11 12 13 14 15 16 8 45 46 47 48 49 50 51
+52 354 355 356 357 358 359 360 4 17 18 19 20 21 22 23 9 52 53 54 55 56 57 58
+53 361 362 363 364 365 5 24 25 26 27 28 29 30 10 59
+ 6 31
+ December 2010 January 2011 February 2011
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 335 336 337 338 1 1 6 32 33 34 35 36
+50 339 340 341 342 343 344 345 2 2 3 4 5 6 7 8 7 37 38 39 40 41 42 43
+51 346 347 348 349 350 351 352 3 9 10 11 12 13 14 15 8 44 45 46 47 48 49 50
+52 353 354 355 356 357 358 359 4 16 17 18 19 20 21 22 9 51 52 53 54 55 56 57
+53 360 361 362 363 364 365 5 23 24 25 26 27 28 29 10 58 59
+ 6 30 31
+ December 2011 January 2012 February 2012
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+49 335 336 337 1 1 2 3 4 5 6 7 5 32 33 34 35
+50 338 339 340 341 342 343 344 2 8 9 10 11 12 13 14 6 36 37 38 39 40 41 42
+51 345 346 347 348 349 350 351 3 15 16 17 18 19 20 21 7 43 44 45 46 47 48 49
+52 352 353 354 355 356 357 358 4 22 23 24 25 26 27 28 8 50 51 52 53 54 55 56
+53 359 360 361 362 363 364 365 5 29 30 31 9 57 58 59 60
+
diff --git a/tests/expected/cal/weeknum-3sw b/tests/expected/cal/weeknum-3sw
new file mode 100644
index 0000000..0b1c1b2
--- /dev/null
+++ b/tests/expected/cal/weeknum-3sw
@@ -0,0 +1,57 @@
+Gregorian - Sunday-based week with week numbers - 3 month
+ December 2000 January 2001 February 2001
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 1 1 2 3 4 5 6 5 1 2 3
+50 3 4 5 6 7 8 9 2 7 8 9 10 11 12 13 6 4 5 6 7 8 9 10
+51 10 11 12 13 14 15 16 3 14 15 16 17 18 19 20 7 11 12 13 14 15 16 17
+52 17 18 19 20 21 22 23 4 21 22 23 24 25 26 27 8 18 19 20 21 22 23 24
+53 24 25 26 27 28 29 30 5 28 29 30 31 9 25 26 27 28
+54 31
+ December 2001 January 2002 February 2002
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+48 1 1 1 2 3 4 5 5 1 2
+49 2 3 4 5 6 7 8 2 6 7 8 9 10 11 12 6 3 4 5 6 7 8 9
+50 9 10 11 12 13 14 15 3 13 14 15 16 17 18 19 7 10 11 12 13 14 15 16
+51 16 17 18 19 20 21 22 4 20 21 22 23 24 25 26 8 17 18 19 20 21 22 23
+52 23 24 25 26 27 28 29 5 27 28 29 30 31 9 24 25 26 27 28
+53 30 31
+ December 2002 January 2003 February 2003
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 3 4 5 6 7 1 1 2 3 4 5 1
+50 8 9 10 11 12 13 14 2 5 6 7 8 9 10 11 6 2 3 4 5 6 7 8
+51 15 16 17 18 19 20 21 3 12 13 14 15 16 17 18 7 9 10 11 12 13 14 15
+52 22 23 24 25 26 27 28 4 19 20 21 22 23 24 25 8 16 17 18 19 20 21 22
+53 29 30 31 5 26 27 28 29 30 31 9 23 24 25 26 27 28
+
+ December 2008 January 2009 February 2009
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 3 4 5 6 1 1 2 3 6 1 2 3 4 5 6 7
+50 7 8 9 10 11 12 13 2 4 5 6 7 8 9 10 7 8 9 10 11 12 13 14
+51 14 15 16 17 18 19 20 3 11 12 13 14 15 16 17 8 15 16 17 18 19 20 21
+52 21 22 23 24 25 26 27 4 18 19 20 21 22 23 24 9 22 23 24 25 26 27 28
+53 28 29 30 31 5 25 26 27 28 29 30 31
+
+ December 2009 January 2010 February 2010
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 3 4 5 1 1 2 6 1 2 3 4 5 6
+50 6 7 8 9 10 11 12 2 3 4 5 6 7 8 9 7 7 8 9 10 11 12 13
+51 13 14 15 16 17 18 19 3 10 11 12 13 14 15 16 8 14 15 16 17 18 19 20
+52 20 21 22 23 24 25 26 4 17 18 19 20 21 22 23 9 21 22 23 24 25 26 27
+53 27 28 29 30 31 5 24 25 26 27 28 29 30 10 28
+ 6 31
+ December 2010 January 2011 February 2011
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 3 4 1 1 6 1 2 3 4 5
+50 5 6 7 8 9 10 11 2 2 3 4 5 6 7 8 7 6 7 8 9 10 11 12
+51 12 13 14 15 16 17 18 3 9 10 11 12 13 14 15 8 13 14 15 16 17 18 19
+52 19 20 21 22 23 24 25 4 16 17 18 19 20 21 22 9 20 21 22 23 24 25 26
+53 26 27 28 29 30 31 5 23 24 25 26 27 28 29 10 27 28
+ 6 30 31
+ December 2011 January 2012 February 2012
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+49 1 2 3 1 1 2 3 4 5 6 7 5 1 2 3 4
+50 4 5 6 7 8 9 10 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11
+51 11 12 13 14 15 16 17 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18
+52 18 19 20 21 22 23 24 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25
+53 25 26 27 28 29 30 31 5 29 30 31 9 26 27 28 29
+
diff --git a/tests/expected/cal/weeknum-ymjw b/tests/expected/cal/weeknum-ymjw
new file mode 100644
index 0000000..d4a1072
--- /dev/null
+++ b/tests/expected/cal/weeknum-ymjw
@@ -0,0 +1,239 @@
+Julian - Monday-based week with week numbers
+ 2001
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5 6 7 5 32 33 34 35 9 60 61 62 63
+ 2 8 9 10 11 12 13 14 6 36 37 38 39 40 41 42 10 64 65 66 67 68 69 70
+ 3 15 16 17 18 19 20 21 7 43 44 45 46 47 48 49 11 71 72 73 74 75 76 77
+ 4 22 23 24 25 26 27 28 8 50 51 52 53 54 55 56 12 78 79 80 81 82 83 84
+ 5 29 30 31 9 57 58 59 13 85 86 87 88 89 90
+
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+13 91 18 121 122 123 124 125 126 22 152 153 154
+14 92 93 94 95 96 97 98 19 127 128 129 130 131 132 133 23 155 156 157 158 159 160 161
+15 99 100 101 102 103 104 105 20 134 135 136 137 138 139 140 24 162 163 164 165 166 167 168
+16 106 107 108 109 110 111 112 21 141 142 143 144 145 146 147 25 169 170 171 172 173 174 175
+17 113 114 115 116 117 118 119 22 148 149 150 151 26 176 177 178 179 180 181
+18 120
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+26 182 31 213 214 215 216 217 35 244 245
+27 183 184 185 186 187 188 189 32 218 219 220 221 222 223 224 36 246 247 248 249 250 251 252
+28 190 191 192 193 194 195 196 33 225 226 227 228 229 230 231 37 253 254 255 256 257 258 259
+29 197 198 199 200 201 202 203 34 232 233 234 235 236 237 238 38 260 261 262 263 264 265 266
+30 204 205 206 207 208 209 210 35 239 240 241 242 243 39 267 268 269 270 271 272 273
+31 211 212
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+40 274 275 276 277 278 279 280 44 305 306 307 308 48 335 336
+41 281 282 283 284 285 286 287 45 309 310 311 312 313 314 315 49 337 338 339 340 341 342 343
+42 288 289 290 291 292 293 294 46 316 317 318 319 320 321 322 50 344 345 346 347 348 349 350
+43 295 296 297 298 299 300 301 47 323 324 325 326 327 328 329 51 351 352 353 354 355 356 357
+44 302 303 304 48 330 331 332 333 334 52 358 359 360 361 362 363 364
+ 1 365
+ 2002
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5 6 5 32 33 34 9 60 61 62
+ 2 7 8 9 10 11 12 13 6 35 36 37 38 39 40 41 10 63 64 65 66 67 68 69
+ 3 14 15 16 17 18 19 20 7 42 43 44 45 46 47 48 11 70 71 72 73 74 75 76
+ 4 21 22 23 24 25 26 27 8 49 50 51 52 53 54 55 12 77 78 79 80 81 82 83
+ 5 28 29 30 31 9 56 57 58 59 13 84 85 86 87 88 89 90
+
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+14 91 92 93 94 95 96 97 18 121 122 123 124 125 22 152 153
+15 98 99 100 101 102 103 104 19 126 127 128 129 130 131 132 23 154 155 156 157 158 159 160
+16 105 106 107 108 109 110 111 20 133 134 135 136 137 138 139 24 161 162 163 164 165 166 167
+17 112 113 114 115 116 117 118 21 140 141 142 143 144 145 146 25 168 169 170 171 172 173 174
+18 119 120 22 147 148 149 150 151 26 175 176 177 178 179 180 181
+
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+27 182 183 184 185 186 187 188 31 213 214 215 216 35 244
+28 189 190 191 192 193 194 195 32 217 218 219 220 221 222 223 36 245 246 247 248 249 250 251
+29 196 197 198 199 200 201 202 33 224 225 226 227 228 229 230 37 252 253 254 255 256 257 258
+30 203 204 205 206 207 208 209 34 231 232 233 234 235 236 237 38 259 260 261 262 263 264 265
+31 210 211 212 35 238 239 240 241 242 243 39 266 267 268 269 270 271 272
+ 40 273
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+40 274 275 276 277 278 279 44 305 306 307 48 335
+41 280 281 282 283 284 285 286 45 308 309 310 311 312 313 314 49 336 337 338 339 340 341 342
+42 287 288 289 290 291 292 293 46 315 316 317 318 319 320 321 50 343 344 345 346 347 348 349
+43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328 51 350 351 352 353 354 355 356
+44 301 302 303 304 48 329 330 331 332 333 334 52 357 358 359 360 361 362 363
+ 1 364 365
+ 2003
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5 5 32 33 9 60 61
+ 2 6 7 8 9 10 11 12 6 34 35 36 37 38 39 40 10 62 63 64 65 66 67 68
+ 3 13 14 15 16 17 18 19 7 41 42 43 44 45 46 47 11 69 70 71 72 73 74 75
+ 4 20 21 22 23 24 25 26 8 48 49 50 51 52 53 54 12 76 77 78 79 80 81 82
+ 5 27 28 29 30 31 9 55 56 57 58 59 13 83 84 85 86 87 88 89
+ 14 90
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+14 91 92 93 94 95 96 18 121 122 123 124 22 152
+15 97 98 99 100 101 102 103 19 125 126 127 128 129 130 131 23 153 154 155 156 157 158 159
+16 104 105 106 107 108 109 110 20 132 133 134 135 136 137 138 24 160 161 162 163 164 165 166
+17 111 112 113 114 115 116 117 21 139 140 141 142 143 144 145 25 167 168 169 170 171 172 173
+18 118 119 120 22 146 147 148 149 150 151 26 174 175 176 177 178 179 180
+ 27 181
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+27 182 183 184 185 186 187 31 213 214 215 36 244 245 246 247 248 249 250
+28 188 189 190 191 192 193 194 32 216 217 218 219 220 221 222 37 251 252 253 254 255 256 257
+29 195 196 197 198 199 200 201 33 223 224 225 226 227 228 229 38 258 259 260 261 262 263 264
+30 202 203 204 205 206 207 208 34 230 231 232 233 234 235 236 39 265 266 267 268 269 270 271
+31 209 210 211 212 35 237 238 239 240 241 242 243 40 272 273
+
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+40 274 275 276 277 278 44 305 306 49 335 336 337 338 339 340 341
+41 279 280 281 282 283 284 285 45 307 308 309 310 311 312 313 50 342 343 344 345 346 347 348
+42 286 287 288 289 290 291 292 46 314 315 316 317 318 319 320 51 349 350 351 352 353 354 355
+43 293 294 295 296 297 298 299 47 321 322 323 324 325 326 327 52 356 357 358 359 360 361 362
+44 300 301 302 303 304 48 328 329 330 331 332 333 334 1 363 364 365
+
+ 2009
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 1 2 3 4 5 32 9 60
+ 2 5 6 7 8 9 10 11 6 33 34 35 36 37 38 39 10 61 62 63 64 65 66 67
+ 3 12 13 14 15 16 17 18 7 40 41 42 43 44 45 46 11 68 69 70 71 72 73 74
+ 4 19 20 21 22 23 24 25 8 47 48 49 50 51 52 53 12 75 76 77 78 79 80 81
+ 5 26 27 28 29 30 31 9 54 55 56 57 58 59 13 82 83 84 85 86 87 88
+ 14 89 90
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+14 91 92 93 94 95 18 121 122 123 23 152 153 154 155 156 157 158
+15 96 97 98 99 100 101 102 19 124 125 126 127 128 129 130 24 159 160 161 162 163 164 165
+16 103 104 105 106 107 108 109 20 131 132 133 134 135 136 137 25 166 167 168 169 170 171 172
+17 110 111 112 113 114 115 116 21 138 139 140 141 142 143 144 26 173 174 175 176 177 178 179
+18 117 118 119 120 22 145 146 147 148 149 150 151 27 180 181
+
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+27 182 183 184 185 186 31 213 214 36 244 245 246 247 248 249
+28 187 188 189 190 191 192 193 32 215 216 217 218 219 220 221 37 250 251 252 253 254 255 256
+29 194 195 196 197 198 199 200 33 222 223 224 225 226 227 228 38 257 258 259 260 261 262 263
+30 201 202 203 204 205 206 207 34 229 230 231 232 233 234 235 39 264 265 266 267 268 269 270
+31 208 209 210 211 212 35 236 237 238 239 240 241 242 40 271 272 273
+ 36 243
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+40 274 275 276 277 44 305 49 335 336 337 338 339 340
+41 278 279 280 281 282 283 284 45 306 307 308 309 310 311 312 50 341 342 343 344 345 346 347
+42 285 286 287 288 289 290 291 46 313 314 315 316 317 318 319 51 348 349 350 351 352 353 354
+43 292 293 294 295 296 297 298 47 320 321 322 323 324 325 326 52 355 356 357 358 359 360 361
+44 299 300 301 302 303 304 48 327 328 329 330 331 332 333 53 362 363 364 365
+ 49 334
+ 2010
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+53 1 2 3 5 32 33 34 35 36 37 38 9 60 61 62 63 64 65 66
+ 1 4 5 6 7 8 9 10 6 39 40 41 42 43 44 45 10 67 68 69 70 71 72 73
+ 2 11 12 13 14 15 16 17 7 46 47 48 49 50 51 52 11 74 75 76 77 78 79 80
+ 3 18 19 20 21 22 23 24 8 53 54 55 56 57 58 59 12 81 82 83 84 85 86 87
+ 4 25 26 27 28 29 30 31 13 88 89 90
+
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+13 91 92 93 94 17 121 122 22 152 153 154 155 156 157
+14 95 96 97 98 99 100 101 18 123 124 125 126 127 128 129 23 158 159 160 161 162 163 164
+15 102 103 104 105 106 107 108 19 130 131 132 133 134 135 136 24 165 166 167 168 169 170 171
+16 109 110 111 112 113 114 115 20 137 138 139 140 141 142 143 25 172 173 174 175 176 177 178
+17 116 117 118 119 120 21 144 145 146 147 148 149 150 26 179 180 181
+ 22 151
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+26 182 183 184 185 30 213 35 244 245 246 247 248
+27 186 187 188 189 190 191 192 31 214 215 216 217 218 219 220 36 249 250 251 252 253 254 255
+28 193 194 195 196 197 198 199 32 221 222 223 224 225 226 227 37 256 257 258 259 260 261 262
+29 200 201 202 203 204 205 206 33 228 229 230 231 232 233 234 38 263 264 265 266 267 268 269
+30 207 208 209 210 211 212 34 235 236 237 238 239 240 241 39 270 271 272 273
+ 35 242 243
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+39 274 275 276 44 305 306 307 308 309 310 311 48 335 336 337 338 339
+40 277 278 279 280 281 282 283 45 312 313 314 315 316 317 318 49 340 341 342 343 344 345 346
+41 284 285 286 287 288 289 290 46 319 320 321 322 323 324 325 50 347 348 349 350 351 352 353
+42 291 292 293 294 295 296 297 47 326 327 328 329 330 331 332 51 354 355 356 357 358 359 360
+43 298 299 300 301 302 303 304 48 333 334 52 361 362 363 364 365
+
+ 2011
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+52 1 2 5 32 33 34 35 36 37 9 60 61 62 63 64 65
+ 1 3 4 5 6 7 8 9 6 38 39 40 41 42 43 44 10 66 67 68 69 70 71 72
+ 2 10 11 12 13 14 15 16 7 45 46 47 48 49 50 51 11 73 74 75 76 77 78 79
+ 3 17 18 19 20 21 22 23 8 52 53 54 55 56 57 58 12 80 81 82 83 84 85 86
+ 4 24 25 26 27 28 29 30 9 59 13 87 88 89 90
+ 5 31
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+13 91 92 93 17 121 22 152 153 154 155 156
+14 94 95 96 97 98 99 100 18 122 123 124 125 126 127 128 23 157 158 159 160 161 162 163
+15 101 102 103 104 105 106 107 19 129 130 131 132 133 134 135 24 164 165 166 167 168 169 170
+16 108 109 110 111 112 113 114 20 136 137 138 139 140 141 142 25 171 172 173 174 175 176 177
+17 115 116 117 118 119 120 21 143 144 145 146 147 148 149 26 178 179 180 181
+ 22 150 151
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+26 182 183 184 31 213 214 215 216 217 218 219 35 244 245 246 247
+27 185 186 187 188 189 190 191 32 220 221 222 223 224 225 226 36 248 249 250 251 252 253 254
+28 192 193 194 195 196 197 198 33 227 228 229 230 231 232 233 37 255 256 257 258 259 260 261
+29 199 200 201 202 203 204 205 34 234 235 236 237 238 239 240 38 262 263 264 265 266 267 268
+30 206 207 208 209 210 211 212 35 241 242 243 39 269 270 271 272 273
+
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+39 274 275 44 305 306 307 308 309 310 48 335 336 337 338
+40 276 277 278 279 280 281 282 45 311 312 313 314 315 316 317 49 339 340 341 342 343 344 345
+41 283 284 285 286 287 288 289 46 318 319 320 321 322 323 324 50 346 347 348 349 350 351 352
+42 290 291 292 293 294 295 296 47 325 326 327 328 329 330 331 51 353 354 355 356 357 358 359
+43 297 298 299 300 301 302 303 48 332 333 334 52 360 361 362 363 364 365
+44 304
+ 2012
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+52 1 5 32 33 34 35 36 9 61 62 63 64
+ 1 2 3 4 5 6 7 8 6 37 38 39 40 41 42 43 10 65 66 67 68 69 70 71
+ 2 9 10 11 12 13 14 15 7 44 45 46 47 48 49 50 11 72 73 74 75 76 77 78
+ 3 16 17 18 19 20 21 22 8 51 52 53 54 55 56 57 12 79 80 81 82 83 84 85
+ 4 23 24 25 26 27 28 29 9 58 59 60 13 86 87 88 89 90 91
+ 5 30 31
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+13 92 18 122 123 124 125 126 127 22 153 154 155
+14 93 94 95 96 97 98 99 19 128 129 130 131 132 133 134 23 156 157 158 159 160 161 162
+15 100 101 102 103 104 105 106 20 135 136 137 138 139 140 141 24 163 164 165 166 167 168 169
+16 107 108 109 110 111 112 113 21 142 143 144 145 146 147 148 25 170 171 172 173 174 175 176
+17 114 115 116 117 118 119 120 22 149 150 151 152 26 177 178 179 180 181 182
+18 121
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+26 183 31 214 215 216 217 218 35 245 246
+27 184 185 186 187 188 189 190 32 219 220 221 222 223 224 225 36 247 248 249 250 251 252 253
+28 191 192 193 194 195 196 197 33 226 227 228 229 230 231 232 37 254 255 256 257 258 259 260
+29 198 199 200 201 202 203 204 34 233 234 235 236 237 238 239 38 261 262 263 264 265 266 267
+30 205 206 207 208 209 210 211 35 240 241 242 243 244 39 268 269 270 271 272 273 274
+31 212 213
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+40 275 276 277 278 279 280 281 44 306 307 308 309 48 336 337
+41 282 283 284 285 286 287 288 45 310 311 312 313 314 315 316 49 338 339 340 341 342 343 344
+42 289 290 291 292 293 294 295 46 317 318 319 320 321 322 323 50 345 346 347 348 349 350 351
+43 296 297 298 299 300 301 302 47 324 325 326 327 328 329 330 51 352 353 354 355 356 357 358
+44 303 304 305 48 331 332 333 334 335 52 359 360 361 362 363 364 365
+ 1 366
diff --git a/tests/expected/cal/weeknum-ymw b/tests/expected/cal/weeknum-ymw
new file mode 100644
index 0000000..44c20d4
--- /dev/null
+++ b/tests/expected/cal/weeknum-ymw
@@ -0,0 +1,239 @@
+Gregorian - Monday-based week with week numbers
+ 2001
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 6 7 5 1 2 3 4 9 1 2 3 4
+ 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11 10 5 6 7 8 9 10 11
+ 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18 11 12 13 14 15 16 17 18
+ 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25 12 19 20 21 22 23 24 25
+ 5 29 30 31 9 26 27 28 13 26 27 28 29 30 31
+
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+13 1 18 1 2 3 4 5 6 22 1 2 3
+14 2 3 4 5 6 7 8 19 7 8 9 10 11 12 13 23 4 5 6 7 8 9 10
+15 9 10 11 12 13 14 15 20 14 15 16 17 18 19 20 24 11 12 13 14 15 16 17
+16 16 17 18 19 20 21 22 21 21 22 23 24 25 26 27 25 18 19 20 21 22 23 24
+17 23 24 25 26 27 28 29 22 28 29 30 31 26 25 26 27 28 29 30
+18 30
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+26 1 31 1 2 3 4 5 35 1 2
+27 2 3 4 5 6 7 8 32 6 7 8 9 10 11 12 36 3 4 5 6 7 8 9
+28 9 10 11 12 13 14 15 33 13 14 15 16 17 18 19 37 10 11 12 13 14 15 16
+29 16 17 18 19 20 21 22 34 20 21 22 23 24 25 26 38 17 18 19 20 21 22 23
+30 23 24 25 26 27 28 29 35 27 28 29 30 31 39 24 25 26 27 28 29 30
+31 30 31
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+40 1 2 3 4 5 6 7 44 1 2 3 4 48 1 2
+41 8 9 10 11 12 13 14 45 5 6 7 8 9 10 11 49 3 4 5 6 7 8 9
+42 15 16 17 18 19 20 21 46 12 13 14 15 16 17 18 50 10 11 12 13 14 15 16
+43 22 23 24 25 26 27 28 47 19 20 21 22 23 24 25 51 17 18 19 20 21 22 23
+44 29 30 31 48 26 27 28 29 30 52 24 25 26 27 28 29 30
+ 1 31
+ 2002
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 6 5 1 2 3 9 1 2 3
+ 2 7 8 9 10 11 12 13 6 4 5 6 7 8 9 10 10 4 5 6 7 8 9 10
+ 3 14 15 16 17 18 19 20 7 11 12 13 14 15 16 17 11 11 12 13 14 15 16 17
+ 4 21 22 23 24 25 26 27 8 18 19 20 21 22 23 24 12 18 19 20 21 22 23 24
+ 5 28 29 30 31 9 25 26 27 28 13 25 26 27 28 29 30 31
+
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+14 1 2 3 4 5 6 7 18 1 2 3 4 5 22 1 2
+15 8 9 10 11 12 13 14 19 6 7 8 9 10 11 12 23 3 4 5 6 7 8 9
+16 15 16 17 18 19 20 21 20 13 14 15 16 17 18 19 24 10 11 12 13 14 15 16
+17 22 23 24 25 26 27 28 21 20 21 22 23 24 25 26 25 17 18 19 20 21 22 23
+18 29 30 22 27 28 29 30 31 26 24 25 26 27 28 29 30
+
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+27 1 2 3 4 5 6 7 31 1 2 3 4 35 1
+28 8 9 10 11 12 13 14 32 5 6 7 8 9 10 11 36 2 3 4 5 6 7 8
+29 15 16 17 18 19 20 21 33 12 13 14 15 16 17 18 37 9 10 11 12 13 14 15
+30 22 23 24 25 26 27 28 34 19 20 21 22 23 24 25 38 16 17 18 19 20 21 22
+31 29 30 31 35 26 27 28 29 30 31 39 23 24 25 26 27 28 29
+ 40 30
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+40 1 2 3 4 5 6 44 1 2 3 48 1
+41 7 8 9 10 11 12 13 45 4 5 6 7 8 9 10 49 2 3 4 5 6 7 8
+42 14 15 16 17 18 19 20 46 11 12 13 14 15 16 17 50 9 10 11 12 13 14 15
+43 21 22 23 24 25 26 27 47 18 19 20 21 22 23 24 51 16 17 18 19 20 21 22
+44 28 29 30 31 48 25 26 27 28 29 30 52 23 24 25 26 27 28 29
+ 1 30 31
+ 2003
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 5 1 2 9 1 2
+ 2 6 7 8 9 10 11 12 6 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9
+ 3 13 14 15 16 17 18 19 7 10 11 12 13 14 15 16 11 10 11 12 13 14 15 16
+ 4 20 21 22 23 24 25 26 8 17 18 19 20 21 22 23 12 17 18 19 20 21 22 23
+ 5 27 28 29 30 31 9 24 25 26 27 28 13 24 25 26 27 28 29 30
+ 14 31
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+14 1 2 3 4 5 6 18 1 2 3 4 22 1
+15 7 8 9 10 11 12 13 19 5 6 7 8 9 10 11 23 2 3 4 5 6 7 8
+16 14 15 16 17 18 19 20 20 12 13 14 15 16 17 18 24 9 10 11 12 13 14 15
+17 21 22 23 24 25 26 27 21 19 20 21 22 23 24 25 25 16 17 18 19 20 21 22
+18 28 29 30 22 26 27 28 29 30 31 26 23 24 25 26 27 28 29
+ 27 30
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+27 1 2 3 4 5 6 31 1 2 3 36 1 2 3 4 5 6 7
+28 7 8 9 10 11 12 13 32 4 5 6 7 8 9 10 37 8 9 10 11 12 13 14
+29 14 15 16 17 18 19 20 33 11 12 13 14 15 16 17 38 15 16 17 18 19 20 21
+30 21 22 23 24 25 26 27 34 18 19 20 21 22 23 24 39 22 23 24 25 26 27 28
+31 28 29 30 31 35 25 26 27 28 29 30 31 40 29 30
+
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+40 1 2 3 4 5 44 1 2 49 1 2 3 4 5 6 7
+41 6 7 8 9 10 11 12 45 3 4 5 6 7 8 9 50 8 9 10 11 12 13 14
+42 13 14 15 16 17 18 19 46 10 11 12 13 14 15 16 51 15 16 17 18 19 20 21
+43 20 21 22 23 24 25 26 47 17 18 19 20 21 22 23 52 22 23 24 25 26 27 28
+44 27 28 29 30 31 48 24 25 26 27 28 29 30 1 29 30 31
+
+ 2009
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 1 9 1
+ 2 5 6 7 8 9 10 11 6 2 3 4 5 6 7 8 10 2 3 4 5 6 7 8
+ 3 12 13 14 15 16 17 18 7 9 10 11 12 13 14 15 11 9 10 11 12 13 14 15
+ 4 19 20 21 22 23 24 25 8 16 17 18 19 20 21 22 12 16 17 18 19 20 21 22
+ 5 26 27 28 29 30 31 9 23 24 25 26 27 28 13 23 24 25 26 27 28 29
+ 14 30 31
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+14 1 2 3 4 5 18 1 2 3 23 1 2 3 4 5 6 7
+15 6 7 8 9 10 11 12 19 4 5 6 7 8 9 10 24 8 9 10 11 12 13 14
+16 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 25 15 16 17 18 19 20 21
+17 20 21 22 23 24 25 26 21 18 19 20 21 22 23 24 26 22 23 24 25 26 27 28
+18 27 28 29 30 22 25 26 27 28 29 30 31 27 29 30
+
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+27 1 2 3 4 5 31 1 2 36 1 2 3 4 5 6
+28 6 7 8 9 10 11 12 32 3 4 5 6 7 8 9 37 7 8 9 10 11 12 13
+29 13 14 15 16 17 18 19 33 10 11 12 13 14 15 16 38 14 15 16 17 18 19 20
+30 20 21 22 23 24 25 26 34 17 18 19 20 21 22 23 39 21 22 23 24 25 26 27
+31 27 28 29 30 31 35 24 25 26 27 28 29 30 40 28 29 30
+ 36 31
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+40 1 2 3 4 44 1 49 1 2 3 4 5 6
+41 5 6 7 8 9 10 11 45 2 3 4 5 6 7 8 50 7 8 9 10 11 12 13
+42 12 13 14 15 16 17 18 46 9 10 11 12 13 14 15 51 14 15 16 17 18 19 20
+43 19 20 21 22 23 24 25 47 16 17 18 19 20 21 22 52 21 22 23 24 25 26 27
+44 26 27 28 29 30 31 48 23 24 25 26 27 28 29 53 28 29 30 31
+ 49 30
+ 2010
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+53 1 2 3 5 1 2 3 4 5 6 7 9 1 2 3 4 5 6 7
+ 1 4 5 6 7 8 9 10 6 8 9 10 11 12 13 14 10 8 9 10 11 12 13 14
+ 2 11 12 13 14 15 16 17 7 15 16 17 18 19 20 21 11 15 16 17 18 19 20 21
+ 3 18 19 20 21 22 23 24 8 22 23 24 25 26 27 28 12 22 23 24 25 26 27 28
+ 4 25 26 27 28 29 30 31 13 29 30 31
+
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+13 1 2 3 4 17 1 2 22 1 2 3 4 5 6
+14 5 6 7 8 9 10 11 18 3 4 5 6 7 8 9 23 7 8 9 10 11 12 13
+15 12 13 14 15 16 17 18 19 10 11 12 13 14 15 16 24 14 15 16 17 18 19 20
+16 19 20 21 22 23 24 25 20 17 18 19 20 21 22 23 25 21 22 23 24 25 26 27
+17 26 27 28 29 30 21 24 25 26 27 28 29 30 26 28 29 30
+ 22 31
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+26 1 2 3 4 30 1 35 1 2 3 4 5
+27 5 6 7 8 9 10 11 31 2 3 4 5 6 7 8 36 6 7 8 9 10 11 12
+28 12 13 14 15 16 17 18 32 9 10 11 12 13 14 15 37 13 14 15 16 17 18 19
+29 19 20 21 22 23 24 25 33 16 17 18 19 20 21 22 38 20 21 22 23 24 25 26
+30 26 27 28 29 30 31 34 23 24 25 26 27 28 29 39 27 28 29 30
+ 35 30 31
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+39 1 2 3 44 1 2 3 4 5 6 7 48 1 2 3 4 5
+40 4 5 6 7 8 9 10 45 8 9 10 11 12 13 14 49 6 7 8 9 10 11 12
+41 11 12 13 14 15 16 17 46 15 16 17 18 19 20 21 50 13 14 15 16 17 18 19
+42 18 19 20 21 22 23 24 47 22 23 24 25 26 27 28 51 20 21 22 23 24 25 26
+43 25 26 27 28 29 30 31 48 29 30 52 27 28 29 30 31
+
+ 2011
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+52 1 2 5 1 2 3 4 5 6 9 1 2 3 4 5 6
+ 1 3 4 5 6 7 8 9 6 7 8 9 10 11 12 13 10 7 8 9 10 11 12 13
+ 2 10 11 12 13 14 15 16 7 14 15 16 17 18 19 20 11 14 15 16 17 18 19 20
+ 3 17 18 19 20 21 22 23 8 21 22 23 24 25 26 27 12 21 22 23 24 25 26 27
+ 4 24 25 26 27 28 29 30 9 28 13 28 29 30 31
+ 5 31
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+13 1 2 3 17 1 22 1 2 3 4 5
+14 4 5 6 7 8 9 10 18 2 3 4 5 6 7 8 23 6 7 8 9 10 11 12
+15 11 12 13 14 15 16 17 19 9 10 11 12 13 14 15 24 13 14 15 16 17 18 19
+16 18 19 20 21 22 23 24 20 16 17 18 19 20 21 22 25 20 21 22 23 24 25 26
+17 25 26 27 28 29 30 21 23 24 25 26 27 28 29 26 27 28 29 30
+ 22 30 31
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+26 1 2 3 31 1 2 3 4 5 6 7 35 1 2 3 4
+27 4 5 6 7 8 9 10 32 8 9 10 11 12 13 14 36 5 6 7 8 9 10 11
+28 11 12 13 14 15 16 17 33 15 16 17 18 19 20 21 37 12 13 14 15 16 17 18
+29 18 19 20 21 22 23 24 34 22 23 24 25 26 27 28 38 19 20 21 22 23 24 25
+30 25 26 27 28 29 30 31 35 29 30 31 39 26 27 28 29 30
+
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+39 1 2 44 1 2 3 4 5 6 48 1 2 3 4
+40 3 4 5 6 7 8 9 45 7 8 9 10 11 12 13 49 5 6 7 8 9 10 11
+41 10 11 12 13 14 15 16 46 14 15 16 17 18 19 20 50 12 13 14 15 16 17 18
+42 17 18 19 20 21 22 23 47 21 22 23 24 25 26 27 51 19 20 21 22 23 24 25
+43 24 25 26 27 28 29 30 48 28 29 30 52 26 27 28 29 30 31
+44 31
+ 2012
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+52 1 5 1 2 3 4 5 9 1 2 3 4
+ 1 2 3 4 5 6 7 8 6 6 7 8 9 10 11 12 10 5 6 7 8 9 10 11
+ 2 9 10 11 12 13 14 15 7 13 14 15 16 17 18 19 11 12 13 14 15 16 17 18
+ 3 16 17 18 19 20 21 22 8 20 21 22 23 24 25 26 12 19 20 21 22 23 24 25
+ 4 23 24 25 26 27 28 29 9 27 28 29 13 26 27 28 29 30 31
+ 5 30 31
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+13 1 18 1 2 3 4 5 6 22 1 2 3
+14 2 3 4 5 6 7 8 19 7 8 9 10 11 12 13 23 4 5 6 7 8 9 10
+15 9 10 11 12 13 14 15 20 14 15 16 17 18 19 20 24 11 12 13 14 15 16 17
+16 16 17 18 19 20 21 22 21 21 22 23 24 25 26 27 25 18 19 20 21 22 23 24
+17 23 24 25 26 27 28 29 22 28 29 30 31 26 25 26 27 28 29 30
+18 30
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+26 1 31 1 2 3 4 5 35 1 2
+27 2 3 4 5 6 7 8 32 6 7 8 9 10 11 12 36 3 4 5 6 7 8 9
+28 9 10 11 12 13 14 15 33 13 14 15 16 17 18 19 37 10 11 12 13 14 15 16
+29 16 17 18 19 20 21 22 34 20 21 22 23 24 25 26 38 17 18 19 20 21 22 23
+30 23 24 25 26 27 28 29 35 27 28 29 30 31 39 24 25 26 27 28 29 30
+31 30 31
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+40 1 2 3 4 5 6 7 44 1 2 3 4 48 1 2
+41 8 9 10 11 12 13 14 45 5 6 7 8 9 10 11 49 3 4 5 6 7 8 9
+42 15 16 17 18 19 20 21 46 12 13 14 15 16 17 18 50 10 11 12 13 14 15 16
+43 22 23 24 25 26 27 28 47 19 20 21 22 23 24 25 51 17 18 19 20 21 22 23
+44 29 30 31 48 26 27 28 29 30 52 24 25 26 27 28 29 30
+ 1 31
diff --git a/tests/expected/cal/weeknum-ysjw b/tests/expected/cal/weeknum-ysjw
new file mode 100644
index 0000000..16b91ad
--- /dev/null
+++ b/tests/expected/cal/weeknum-ysjw
@@ -0,0 +1,239 @@
+Julian - Sunday-based week with week numbers
+ 2001
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 6 5 32 33 34 9 60 61 62
+ 2 7 8 9 10 11 12 13 6 35 36 37 38 39 40 41 10 63 64 65 66 67 68 69
+ 3 14 15 16 17 18 19 20 7 42 43 44 45 46 47 48 11 70 71 72 73 74 75 76
+ 4 21 22 23 24 25 26 27 8 49 50 51 52 53 54 55 12 77 78 79 80 81 82 83
+ 5 28 29 30 31 9 56 57 58 59 13 84 85 86 87 88 89 90
+
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 93 94 95 96 97 18 121 122 123 124 125 22 152 153
+15 98 99 100 101 102 103 104 19 126 127 128 129 130 131 132 23 154 155 156 157 158 159 160
+16 105 106 107 108 109 110 111 20 133 134 135 136 137 138 139 24 161 162 163 164 165 166 167
+17 112 113 114 115 116 117 118 21 140 141 142 143 144 145 146 25 168 169 170 171 172 173 174
+18 119 120 22 147 148 149 150 151 26 175 176 177 178 179 180 181
+
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 184 185 186 187 188 31 213 214 215 216 35 244
+28 189 190 191 192 193 194 195 32 217 218 219 220 221 222 223 36 245 246 247 248 249 250 251
+29 196 197 198 199 200 201 202 33 224 225 226 227 228 229 230 37 252 253 254 255 256 257 258
+30 203 204 205 206 207 208 209 34 231 232 233 234 235 236 237 38 259 260 261 262 263 264 265
+31 210 211 212 35 238 239 240 241 242 243 39 266 267 268 269 270 271 272
+ 40 273
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 277 278 279 44 305 306 307 48 335
+41 280 281 282 283 284 285 286 45 308 309 310 311 312 313 314 49 336 337 338 339 340 341 342
+42 287 288 289 290 291 292 293 46 315 316 317 318 319 320 321 50 343 344 345 346 347 348 349
+43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328 51 350 351 352 353 354 355 356
+44 301 302 303 304 48 329 330 331 332 333 334 52 357 358 359 360 361 362 363
+ 53 364 365
+ 2002
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 5 32 33 9 60 61
+ 2 6 7 8 9 10 11 12 6 34 35 36 37 38 39 40 10 62 63 64 65 66 67 68
+ 3 13 14 15 16 17 18 19 7 41 42 43 44 45 46 47 11 69 70 71 72 73 74 75
+ 4 20 21 22 23 24 25 26 8 48 49 50 51 52 53 54 12 76 77 78 79 80 81 82
+ 5 27 28 29 30 31 9 55 56 57 58 59 13 83 84 85 86 87 88 89
+ 14 90
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 93 94 95 96 18 121 122 123 124 22 152
+15 97 98 99 100 101 102 103 19 125 126 127 128 129 130 131 23 153 154 155 156 157 158 159
+16 104 105 106 107 108 109 110 20 132 133 134 135 136 137 138 24 160 161 162 163 164 165 166
+17 111 112 113 114 115 116 117 21 139 140 141 142 143 144 145 25 167 168 169 170 171 172 173
+18 118 119 120 22 146 147 148 149 150 151 26 174 175 176 177 178 179 180
+ 27 181
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 184 185 186 187 31 213 214 215 36 244 245 246 247 248 249 250
+28 188 189 190 191 192 193 194 32 216 217 218 219 220 221 222 37 251 252 253 254 255 256 257
+29 195 196 197 198 199 200 201 33 223 224 225 226 227 228 229 38 258 259 260 261 262 263 264
+30 202 203 204 205 206 207 208 34 230 231 232 233 234 235 236 39 265 266 267 268 269 270 271
+31 209 210 211 212 35 237 238 239 240 241 242 243 40 272 273
+
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 277 278 44 305 306 49 335 336 337 338 339 340 341
+41 279 280 281 282 283 284 285 45 307 308 309 310 311 312 313 50 342 343 344 345 346 347 348
+42 286 287 288 289 290 291 292 46 314 315 316 317 318 319 320 51 349 350 351 352 353 354 355
+43 293 294 295 296 297 298 299 47 321 322 323 324 325 326 327 52 356 357 358 359 360 361 362
+44 300 301 302 303 304 48 328 329 330 331 332 333 334 53 363 364 365
+
+ 2003
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 32 9 60
+ 2 5 6 7 8 9 10 11 6 33 34 35 36 37 38 39 10 61 62 63 64 65 66 67
+ 3 12 13 14 15 16 17 18 7 40 41 42 43 44 45 46 11 68 69 70 71 72 73 74
+ 4 19 20 21 22 23 24 25 8 47 48 49 50 51 52 53 12 75 76 77 78 79 80 81
+ 5 26 27 28 29 30 31 9 54 55 56 57 58 59 13 82 83 84 85 86 87 88
+ 14 89 90
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 93 94 95 18 121 122 123 23 152 153 154 155 156 157 158
+15 96 97 98 99 100 101 102 19 124 125 126 127 128 129 130 24 159 160 161 162 163 164 165
+16 103 104 105 106 107 108 109 20 131 132 133 134 135 136 137 25 166 167 168 169 170 171 172
+17 110 111 112 113 114 115 116 21 138 139 140 141 142 143 144 26 173 174 175 176 177 178 179
+18 117 118 119 120 22 145 146 147 148 149 150 151 27 180 181
+
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 184 185 186 31 213 214 36 244 245 246 247 248 249
+28 187 188 189 190 191 192 193 32 215 216 217 218 219 220 221 37 250 251 252 253 254 255 256
+29 194 195 196 197 198 199 200 33 222 223 224 225 226 227 228 38 257 258 259 260 261 262 263
+30 201 202 203 204 205 206 207 34 229 230 231 232 233 234 235 39 264 265 266 267 268 269 270
+31 208 209 210 211 212 35 236 237 238 239 240 241 242 40 271 272 273
+ 36 243
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 277 44 305 49 335 336 337 338 339 340
+41 278 279 280 281 282 283 284 45 306 307 308 309 310 311 312 50 341 342 343 344 345 346 347
+42 285 286 287 288 289 290 291 46 313 314 315 316 317 318 319 51 348 349 350 351 352 353 354
+43 292 293 294 295 296 297 298 47 320 321 322 323 324 325 326 52 355 356 357 358 359 360 361
+44 299 300 301 302 303 304 48 327 328 329 330 331 332 333 53 362 363 364 365
+ 49 334
+ 2009
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 6 32 33 34 35 36 37 38 10 60 61 62 63 64 65 66
+ 2 4 5 6 7 8 9 10 7 39 40 41 42 43 44 45 11 67 68 69 70 71 72 73
+ 3 11 12 13 14 15 16 17 8 46 47 48 49 50 51 52 12 74 75 76 77 78 79 80
+ 4 18 19 20 21 22 23 24 9 53 54 55 56 57 58 59 13 81 82 83 84 85 86 87
+ 5 25 26 27 28 29 30 31 14 88 89 90
+
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 93 94 18 121 122 23 152 153 154 155 156 157
+15 95 96 97 98 99 100 101 19 123 124 125 126 127 128 129 24 158 159 160 161 162 163 164
+16 102 103 104 105 106 107 108 20 130 131 132 133 134 135 136 25 165 166 167 168 169 170 171
+17 109 110 111 112 113 114 115 21 137 138 139 140 141 142 143 26 172 173 174 175 176 177 178
+18 116 117 118 119 120 22 144 145 146 147 148 149 150 27 179 180 181
+ 23 151
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 184 185 31 213 36 244 245 246 247 248
+28 186 187 188 189 190 191 192 32 214 215 216 217 218 219 220 37 249 250 251 252 253 254 255
+29 193 194 195 196 197 198 199 33 221 222 223 224 225 226 227 38 256 257 258 259 260 261 262
+30 200 201 202 203 204 205 206 34 228 229 230 231 232 233 234 39 263 264 265 266 267 268 269
+31 207 208 209 210 211 212 35 235 236 237 238 239 240 241 40 270 271 272 273
+ 36 242 243
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 45 305 306 307 308 309 310 311 49 335 336 337 338 339
+41 277 278 279 280 281 282 283 46 312 313 314 315 316 317 318 50 340 341 342 343 344 345 346
+42 284 285 286 287 288 289 290 47 319 320 321 322 323 324 325 51 347 348 349 350 351 352 353
+43 291 292 293 294 295 296 297 48 326 327 328 329 330 331 332 52 354 355 356 357 358 359 360
+44 298 299 300 301 302 303 304 49 333 334 53 361 362 363 364 365
+
+ 2010
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 6 32 33 34 35 36 37 10 60 61 62 63 64 65
+ 2 3 4 5 6 7 8 9 7 38 39 40 41 42 43 44 11 66 67 68 69 70 71 72
+ 3 10 11 12 13 14 15 16 8 45 46 47 48 49 50 51 12 73 74 75 76 77 78 79
+ 4 17 18 19 20 21 22 23 9 52 53 54 55 56 57 58 13 80 81 82 83 84 85 86
+ 5 24 25 26 27 28 29 30 10 59 14 87 88 89 90
+ 6 31
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 93 18 121 23 152 153 154 155 156
+15 94 95 96 97 98 99 100 19 122 123 124 125 126 127 128 24 157 158 159 160 161 162 163
+16 101 102 103 104 105 106 107 20 129 130 131 132 133 134 135 25 164 165 166 167 168 169 170
+17 108 109 110 111 112 113 114 21 136 137 138 139 140 141 142 26 171 172 173 174 175 176 177
+18 115 116 117 118 119 120 22 143 144 145 146 147 148 149 27 178 179 180 181
+ 23 150 151
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 184 32 213 214 215 216 217 218 219 36 244 245 246 247
+28 185 186 187 188 189 190 191 33 220 221 222 223 224 225 226 37 248 249 250 251 252 253 254
+29 192 193 194 195 196 197 198 34 227 228 229 230 231 232 233 38 255 256 257 258 259 260 261
+30 199 200 201 202 203 204 205 35 234 235 236 237 238 239 240 39 262 263 264 265 266 267 268
+31 206 207 208 209 210 211 212 36 241 242 243 40 269 270 271 272 273
+
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 45 305 306 307 308 309 310 49 335 336 337 338
+41 276 277 278 279 280 281 282 46 311 312 313 314 315 316 317 50 339 340 341 342 343 344 345
+42 283 284 285 286 287 288 289 47 318 319 320 321 322 323 324 51 346 347 348 349 350 351 352
+43 290 291 292 293 294 295 296 48 325 326 327 328 329 330 331 52 353 354 355 356 357 358 359
+44 297 298 299 300 301 302 303 49 332 333 334 53 360 361 362 363 364 365
+45 304
+ 2011
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 6 32 33 34 35 36 10 60 61 62 63 64
+ 2 2 3 4 5 6 7 8 7 37 38 39 40 41 42 43 11 65 66 67 68 69 70 71
+ 3 9 10 11 12 13 14 15 8 44 45 46 47 48 49 50 12 72 73 74 75 76 77 78
+ 4 16 17 18 19 20 21 22 9 51 52 53 54 55 56 57 13 79 80 81 82 83 84 85
+ 5 23 24 25 26 27 28 29 10 58 59 14 86 87 88 89 90
+ 6 30 31
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 91 92 19 121 122 123 124 125 126 127 23 152 153 154 155
+15 93 94 95 96 97 98 99 20 128 129 130 131 132 133 134 24 156 157 158 159 160 161 162
+16 100 101 102 103 104 105 106 21 135 136 137 138 139 140 141 25 163 164 165 166 167 168 169
+17 107 108 109 110 111 112 113 22 142 143 144 145 146 147 148 26 170 171 172 173 174 175 176
+18 114 115 116 117 118 119 120 23 149 150 151 27 177 178 179 180 181
+
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 182 183 32 213 214 215 216 217 218 36 244 245 246
+28 184 185 186 187 188 189 190 33 219 220 221 222 223 224 225 37 247 248 249 250 251 252 253
+29 191 192 193 194 195 196 197 34 226 227 228 229 230 231 232 38 254 255 256 257 258 259 260
+30 198 199 200 201 202 203 204 35 233 234 235 236 237 238 239 39 261 262 263 264 265 266 267
+31 205 206 207 208 209 210 211 36 240 241 242 243 40 268 269 270 271 272 273
+32 212
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 45 305 306 307 308 309 49 335 336 337
+41 275 276 277 278 279 280 281 46 310 311 312 313 314 315 316 50 338 339 340 341 342 343 344
+42 282 283 284 285 286 287 288 47 317 318 319 320 321 322 323 51 345 346 347 348 349 350 351
+43 289 290 291 292 293 294 295 48 324 325 326 327 328 329 330 52 352 353 354 355 356 357 358
+44 296 297 298 299 300 301 302 49 331 332 333 334 53 359 360 361 362 363 364 365
+45 303 304
+ 2012
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 6 7 5 32 33 34 35 9 61 62 63
+ 2 8 9 10 11 12 13 14 6 36 37 38 39 40 41 42 10 64 65 66 67 68 69 70
+ 3 15 16 17 18 19 20 21 7 43 44 45 46 47 48 49 11 71 72 73 74 75 76 77
+ 4 22 23 24 25 26 27 28 8 50 51 52 53 54 55 56 12 78 79 80 81 82 83 84
+ 5 29 30 31 9 57 58 59 60 13 85 86 87 88 89 90 91
+
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+14 92 93 94 95 96 97 98 18 122 123 124 125 126 22 153 154
+15 99 100 101 102 103 104 105 19 127 128 129 130 131 132 133 23 155 156 157 158 159 160 161
+16 106 107 108 109 110 111 112 20 134 135 136 137 138 139 140 24 162 163 164 165 166 167 168
+17 113 114 115 116 117 118 119 21 141 142 143 144 145 146 147 25 169 170 171 172 173 174 175
+18 120 121 22 148 149 150 151 152 26 176 177 178 179 180 181 182
+
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+27 183 184 185 186 187 188 189 31 214 215 216 217 35 245
+28 190 191 192 193 194 195 196 32 218 219 220 221 222 223 224 36 246 247 248 249 250 251 252
+29 197 198 199 200 201 202 203 33 225 226 227 228 229 230 231 37 253 254 255 256 257 258 259
+30 204 205 206 207 208 209 210 34 232 233 234 235 236 237 238 38 260 261 262 263 264 265 266
+31 211 212 213 35 239 240 241 242 243 244 39 267 268 269 270 271 272 273
+ 40 274
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 275 276 277 278 279 280 44 306 307 308 48 336
+41 281 282 283 284 285 286 287 45 309 310 311 312 313 314 315 49 337 338 339 340 341 342 343
+42 288 289 290 291 292 293 294 46 316 317 318 319 320 321 322 50 344 345 346 347 348 349 350
+43 295 296 297 298 299 300 301 47 323 324 325 326 327 328 329 51 351 352 353 354 355 356 357
+44 302 303 304 305 48 330 331 332 333 334 335 52 358 359 360 361 362 363 364
+ 53 365 366
diff --git a/tests/expected/cal/weeknum-ysw b/tests/expected/cal/weeknum-ysw
new file mode 100644
index 0000000..0c924ce
--- /dev/null
+++ b/tests/expected/cal/weeknum-ysw
@@ -0,0 +1,239 @@
+Gregorian - Sunday-based week with week numbers
+ 2001
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 5 1 2 3 9 1 2 3
+ 2 7 8 9 10 11 12 13 6 4 5 6 7 8 9 10 10 4 5 6 7 8 9 10
+ 3 14 15 16 17 18 19 20 7 11 12 13 14 15 16 17 11 11 12 13 14 15 16 17
+ 4 21 22 23 24 25 26 27 8 18 19 20 21 22 23 24 12 18 19 20 21 22 23 24
+ 5 28 29 30 31 9 25 26 27 28 13 25 26 27 28 29 30 31
+
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 4 5 6 7 18 1 2 3 4 5 22 1 2
+15 8 9 10 11 12 13 14 19 6 7 8 9 10 11 12 23 3 4 5 6 7 8 9
+16 15 16 17 18 19 20 21 20 13 14 15 16 17 18 19 24 10 11 12 13 14 15 16
+17 22 23 24 25 26 27 28 21 20 21 22 23 24 25 26 25 17 18 19 20 21 22 23
+18 29 30 22 27 28 29 30 31 26 24 25 26 27 28 29 30
+
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 4 5 6 7 31 1 2 3 4 35 1
+28 8 9 10 11 12 13 14 32 5 6 7 8 9 10 11 36 2 3 4 5 6 7 8
+29 15 16 17 18 19 20 21 33 12 13 14 15 16 17 18 37 9 10 11 12 13 14 15
+30 22 23 24 25 26 27 28 34 19 20 21 22 23 24 25 38 16 17 18 19 20 21 22
+31 29 30 31 35 26 27 28 29 30 31 39 23 24 25 26 27 28 29
+ 40 30
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 4 5 6 44 1 2 3 48 1
+41 7 8 9 10 11 12 13 45 4 5 6 7 8 9 10 49 2 3 4 5 6 7 8
+42 14 15 16 17 18 19 20 46 11 12 13 14 15 16 17 50 9 10 11 12 13 14 15
+43 21 22 23 24 25 26 27 47 18 19 20 21 22 23 24 51 16 17 18 19 20 21 22
+44 28 29 30 31 48 25 26 27 28 29 30 52 23 24 25 26 27 28 29
+ 53 30 31
+ 2002
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 5 1 2 9 1 2
+ 2 6 7 8 9 10 11 12 6 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9
+ 3 13 14 15 16 17 18 19 7 10 11 12 13 14 15 16 11 10 11 12 13 14 15 16
+ 4 20 21 22 23 24 25 26 8 17 18 19 20 21 22 23 12 17 18 19 20 21 22 23
+ 5 27 28 29 30 31 9 24 25 26 27 28 13 24 25 26 27 28 29 30
+ 14 31
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 4 5 6 18 1 2 3 4 22 1
+15 7 8 9 10 11 12 13 19 5 6 7 8 9 10 11 23 2 3 4 5 6 7 8
+16 14 15 16 17 18 19 20 20 12 13 14 15 16 17 18 24 9 10 11 12 13 14 15
+17 21 22 23 24 25 26 27 21 19 20 21 22 23 24 25 25 16 17 18 19 20 21 22
+18 28 29 30 22 26 27 28 29 30 31 26 23 24 25 26 27 28 29
+ 27 30
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 4 5 6 31 1 2 3 36 1 2 3 4 5 6 7
+28 7 8 9 10 11 12 13 32 4 5 6 7 8 9 10 37 8 9 10 11 12 13 14
+29 14 15 16 17 18 19 20 33 11 12 13 14 15 16 17 38 15 16 17 18 19 20 21
+30 21 22 23 24 25 26 27 34 18 19 20 21 22 23 24 39 22 23 24 25 26 27 28
+31 28 29 30 31 35 25 26 27 28 29 30 31 40 29 30
+
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 4 5 44 1 2 49 1 2 3 4 5 6 7
+41 6 7 8 9 10 11 12 45 3 4 5 6 7 8 9 50 8 9 10 11 12 13 14
+42 13 14 15 16 17 18 19 46 10 11 12 13 14 15 16 51 15 16 17 18 19 20 21
+43 20 21 22 23 24 25 26 47 17 18 19 20 21 22 23 52 22 23 24 25 26 27 28
+44 27 28 29 30 31 48 24 25 26 27 28 29 30 53 29 30 31
+
+ 2003
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 9 1
+ 2 5 6 7 8 9 10 11 6 2 3 4 5 6 7 8 10 2 3 4 5 6 7 8
+ 3 12 13 14 15 16 17 18 7 9 10 11 12 13 14 15 11 9 10 11 12 13 14 15
+ 4 19 20 21 22 23 24 25 8 16 17 18 19 20 21 22 12 16 17 18 19 20 21 22
+ 5 26 27 28 29 30 31 9 23 24 25 26 27 28 13 23 24 25 26 27 28 29
+ 14 30 31
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 4 5 18 1 2 3 23 1 2 3 4 5 6 7
+15 6 7 8 9 10 11 12 19 4 5 6 7 8 9 10 24 8 9 10 11 12 13 14
+16 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 25 15 16 17 18 19 20 21
+17 20 21 22 23 24 25 26 21 18 19 20 21 22 23 24 26 22 23 24 25 26 27 28
+18 27 28 29 30 22 25 26 27 28 29 30 31 27 29 30
+
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 4 5 31 1 2 36 1 2 3 4 5 6
+28 6 7 8 9 10 11 12 32 3 4 5 6 7 8 9 37 7 8 9 10 11 12 13
+29 13 14 15 16 17 18 19 33 10 11 12 13 14 15 16 38 14 15 16 17 18 19 20
+30 20 21 22 23 24 25 26 34 17 18 19 20 21 22 23 39 21 22 23 24 25 26 27
+31 27 28 29 30 31 35 24 25 26 27 28 29 30 40 28 29 30
+ 36 31
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 4 44 1 49 1 2 3 4 5 6
+41 5 6 7 8 9 10 11 45 2 3 4 5 6 7 8 50 7 8 9 10 11 12 13
+42 12 13 14 15 16 17 18 46 9 10 11 12 13 14 15 51 14 15 16 17 18 19 20
+43 19 20 21 22 23 24 25 47 16 17 18 19 20 21 22 52 21 22 23 24 25 26 27
+44 26 27 28 29 30 31 48 23 24 25 26 27 28 29 53 28 29 30 31
+ 49 30
+ 2009
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 6 1 2 3 4 5 6 7 10 1 2 3 4 5 6 7
+ 2 4 5 6 7 8 9 10 7 8 9 10 11 12 13 14 11 8 9 10 11 12 13 14
+ 3 11 12 13 14 15 16 17 8 15 16 17 18 19 20 21 12 15 16 17 18 19 20 21
+ 4 18 19 20 21 22 23 24 9 22 23 24 25 26 27 28 13 22 23 24 25 26 27 28
+ 5 25 26 27 28 29 30 31 14 29 30 31
+
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 4 18 1 2 23 1 2 3 4 5 6
+15 5 6 7 8 9 10 11 19 3 4 5 6 7 8 9 24 7 8 9 10 11 12 13
+16 12 13 14 15 16 17 18 20 10 11 12 13 14 15 16 25 14 15 16 17 18 19 20
+17 19 20 21 22 23 24 25 21 17 18 19 20 21 22 23 26 21 22 23 24 25 26 27
+18 26 27 28 29 30 22 24 25 26 27 28 29 30 27 28 29 30
+ 23 31
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 4 31 1 36 1 2 3 4 5
+28 5 6 7 8 9 10 11 32 2 3 4 5 6 7 8 37 6 7 8 9 10 11 12
+29 12 13 14 15 16 17 18 33 9 10 11 12 13 14 15 38 13 14 15 16 17 18 19
+30 19 20 21 22 23 24 25 34 16 17 18 19 20 21 22 39 20 21 22 23 24 25 26
+31 26 27 28 29 30 31 35 23 24 25 26 27 28 29 40 27 28 29 30
+ 36 30 31
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 45 1 2 3 4 5 6 7 49 1 2 3 4 5
+41 4 5 6 7 8 9 10 46 8 9 10 11 12 13 14 50 6 7 8 9 10 11 12
+42 11 12 13 14 15 16 17 47 15 16 17 18 19 20 21 51 13 14 15 16 17 18 19
+43 18 19 20 21 22 23 24 48 22 23 24 25 26 27 28 52 20 21 22 23 24 25 26
+44 25 26 27 28 29 30 31 49 29 30 53 27 28 29 30 31
+
+ 2010
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 6 1 2 3 4 5 6 10 1 2 3 4 5 6
+ 2 3 4 5 6 7 8 9 7 7 8 9 10 11 12 13 11 7 8 9 10 11 12 13
+ 3 10 11 12 13 14 15 16 8 14 15 16 17 18 19 20 12 14 15 16 17 18 19 20
+ 4 17 18 19 20 21 22 23 9 21 22 23 24 25 26 27 13 21 22 23 24 25 26 27
+ 5 24 25 26 27 28 29 30 10 28 14 28 29 30 31
+ 6 31
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 18 1 23 1 2 3 4 5
+15 4 5 6 7 8 9 10 19 2 3 4 5 6 7 8 24 6 7 8 9 10 11 12
+16 11 12 13 14 15 16 17 20 9 10 11 12 13 14 15 25 13 14 15 16 17 18 19
+17 18 19 20 21 22 23 24 21 16 17 18 19 20 21 22 26 20 21 22 23 24 25 26
+18 25 26 27 28 29 30 22 23 24 25 26 27 28 29 27 27 28 29 30
+ 23 30 31
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 32 1 2 3 4 5 6 7 36 1 2 3 4
+28 4 5 6 7 8 9 10 33 8 9 10 11 12 13 14 37 5 6 7 8 9 10 11
+29 11 12 13 14 15 16 17 34 15 16 17 18 19 20 21 38 12 13 14 15 16 17 18
+30 18 19 20 21 22 23 24 35 22 23 24 25 26 27 28 39 19 20 21 22 23 24 25
+31 25 26 27 28 29 30 31 36 29 30 31 40 26 27 28 29 30
+
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 45 1 2 3 4 5 6 49 1 2 3 4
+41 3 4 5 6 7 8 9 46 7 8 9 10 11 12 13 50 5 6 7 8 9 10 11
+42 10 11 12 13 14 15 16 47 14 15 16 17 18 19 20 51 12 13 14 15 16 17 18
+43 17 18 19 20 21 22 23 48 21 22 23 24 25 26 27 52 19 20 21 22 23 24 25
+44 24 25 26 27 28 29 30 49 28 29 30 53 26 27 28 29 30 31
+45 31
+ 2011
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 6 1 2 3 4 5 10 1 2 3 4 5
+ 2 2 3 4 5 6 7 8 7 6 7 8 9 10 11 12 11 6 7 8 9 10 11 12
+ 3 9 10 11 12 13 14 15 8 13 14 15 16 17 18 19 12 13 14 15 16 17 18 19
+ 4 16 17 18 19 20 21 22 9 20 21 22 23 24 25 26 13 20 21 22 23 24 25 26
+ 5 23 24 25 26 27 28 29 10 27 28 14 27 28 29 30 31
+ 6 30 31
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 19 1 2 3 4 5 6 7 23 1 2 3 4
+15 3 4 5 6 7 8 9 20 8 9 10 11 12 13 14 24 5 6 7 8 9 10 11
+16 10 11 12 13 14 15 16 21 15 16 17 18 19 20 21 25 12 13 14 15 16 17 18
+17 17 18 19 20 21 22 23 22 22 23 24 25 26 27 28 26 19 20 21 22 23 24 25
+18 24 25 26 27 28 29 30 23 29 30 31 27 26 27 28 29 30
+
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 32 1 2 3 4 5 6 36 1 2 3
+28 3 4 5 6 7 8 9 33 7 8 9 10 11 12 13 37 4 5 6 7 8 9 10
+29 10 11 12 13 14 15 16 34 14 15 16 17 18 19 20 38 11 12 13 14 15 16 17
+30 17 18 19 20 21 22 23 35 21 22 23 24 25 26 27 39 18 19 20 21 22 23 24
+31 24 25 26 27 28 29 30 36 28 29 30 31 40 25 26 27 28 29 30
+32 31
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 45 1 2 3 4 5 49 1 2 3
+41 2 3 4 5 6 7 8 46 6 7 8 9 10 11 12 50 4 5 6 7 8 9 10
+42 9 10 11 12 13 14 15 47 13 14 15 16 17 18 19 51 11 12 13 14 15 16 17
+43 16 17 18 19 20 21 22 48 20 21 22 23 24 25 26 52 18 19 20 21 22 23 24
+44 23 24 25 26 27 28 29 49 27 28 29 30 53 25 26 27 28 29 30 31
+45 30 31
+ 2012
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 7 5 1 2 3 4 9 1 2 3
+ 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11 10 4 5 6 7 8 9 10
+ 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18 11 11 12 13 14 15 16 17
+ 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25 12 18 19 20 21 22 23 24
+ 5 29 30 31 9 26 27 28 29 13 25 26 27 28 29 30 31
+
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+14 1 2 3 4 5 6 7 18 1 2 3 4 5 22 1 2
+15 8 9 10 11 12 13 14 19 6 7 8 9 10 11 12 23 3 4 5 6 7 8 9
+16 15 16 17 18 19 20 21 20 13 14 15 16 17 18 19 24 10 11 12 13 14 15 16
+17 22 23 24 25 26 27 28 21 20 21 22 23 24 25 26 25 17 18 19 20 21 22 23
+18 29 30 22 27 28 29 30 31 26 24 25 26 27 28 29 30
+
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+27 1 2 3 4 5 6 7 31 1 2 3 4 35 1
+28 8 9 10 11 12 13 14 32 5 6 7 8 9 10 11 36 2 3 4 5 6 7 8
+29 15 16 17 18 19 20 21 33 12 13 14 15 16 17 18 37 9 10 11 12 13 14 15
+30 22 23 24 25 26 27 28 34 19 20 21 22 23 24 25 38 16 17 18 19 20 21 22
+31 29 30 31 35 26 27 28 29 30 31 39 23 24 25 26 27 28 29
+ 40 30
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 4 5 6 44 1 2 3 48 1
+41 7 8 9 10 11 12 13 45 4 5 6 7 8 9 10 49 2 3 4 5 6 7 8
+42 14 15 16 17 18 19 20 46 11 12 13 14 15 16 17 50 9 10 11 12 13 14 15
+43 21 22 23 24 25 26 27 47 18 19 20 21 22 23 24 51 16 17 18 19 20 21 22
+44 28 29 30 31 48 25 26 27 28 29 30 52 23 24 25 26 27 28 29
+ 53 30 31
diff --git a/tests/expected/cal/year-ym b/tests/expected/cal/year-ym
new file mode 100644
index 0000000..60b1a66
--- /dev/null
+++ b/tests/expected/cal/year-ym
@@ -0,0 +1,35 @@
+Gregorian - Monday-based week
+ 2006
+
+ January February March
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 1 2 3 4 5
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
+23 24 25 26 27 28 29 27 28 27 28 29 30 31
+30 31
+ April May June
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 1 2 3 4 5 6 7 1 2 3 4
+ 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
+10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
+17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
+24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
+
+ July August September
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 2 1 2 3 4 5 6 1 2 3
+ 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
+31
+ October November December
+Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+ 1 1 2 3 4 5 1 2 3
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
+30 31
diff --git a/tests/expected/cal/year-ymj b/tests/expected/cal/year-ymj
new file mode 100644
index 0000000..caa3db0
--- /dev/null
+++ b/tests/expected/cal/year-ymj
@@ -0,0 +1,35 @@
+Julian - Monday-based week
+ 2006
+
+ January February March
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 1 32 33 34 35 36 60 61 62 63 64
+ 2 3 4 5 6 7 8 37 38 39 40 41 42 43 65 66 67 68 69 70 71
+ 9 10 11 12 13 14 15 44 45 46 47 48 49 50 72 73 74 75 76 77 78
+ 16 17 18 19 20 21 22 51 52 53 54 55 56 57 79 80 81 82 83 84 85
+ 23 24 25 26 27 28 29 58 59 86 87 88 89 90
+ 30 31
+ April May June
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 91 92 121 122 123 124 125 126 127 152 153 154 155
+ 93 94 95 96 97 98 99 128 129 130 131 132 133 134 156 157 158 159 160 161 162
+100 101 102 103 104 105 106 135 136 137 138 139 140 141 163 164 165 166 167 168 169
+107 108 109 110 111 112 113 142 143 144 145 146 147 148 170 171 172 173 174 175 176
+114 115 116 117 118 119 120 149 150 151 177 178 179 180 181
+
+ July August September
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 182 183 213 214 215 216 217 218 244 245 246
+184 185 186 187 188 189 190 219 220 221 222 223 224 225 247 248 249 250 251 252 253
+191 192 193 194 195 196 197 226 227 228 229 230 231 232 254 255 256 257 258 259 260
+198 199 200 201 202 203 204 233 234 235 236 237 238 239 261 262 263 264 265 266 267
+205 206 207 208 209 210 211 240 241 242 243 268 269 270 271 272 273
+212
+ October November December
+Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+ 274 305 306 307 308 309 335 336 337
+275 276 277 278 279 280 281 310 311 312 313 314 315 316 338 339 340 341 342 343 344
+282 283 284 285 286 287 288 317 318 319 320 321 322 323 345 346 347 348 349 350 351
+289 290 291 292 293 294 295 324 325 326 327 328 329 330 352 353 354 355 356 357 358
+296 297 298 299 300 301 302 331 332 333 334 359 360 361 362 363 364 365
+303 304
diff --git a/tests/expected/cal/year-ymjw b/tests/expected/cal/year-ymjw
new file mode 100644
index 0000000..b62e167
--- /dev/null
+++ b/tests/expected/cal/year-ymjw
@@ -0,0 +1,35 @@
+Julian - Monday-based week with week numbers
+ 2006
+
+ January February March
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+52 1 5 32 33 34 35 36 9 60 61 62 63 64
+ 1 2 3 4 5 6 7 8 6 37 38 39 40 41 42 43 10 65 66 67 68 69 70 71
+ 2 9 10 11 12 13 14 15 7 44 45 46 47 48 49 50 11 72 73 74 75 76 77 78
+ 3 16 17 18 19 20 21 22 8 51 52 53 54 55 56 57 12 79 80 81 82 83 84 85
+ 4 23 24 25 26 27 28 29 9 58 59 13 86 87 88 89 90
+ 5 30 31
+ April May June
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+13 91 92 18 121 122 123 124 125 126 127 22 152 153 154 155
+14 93 94 95 96 97 98 99 19 128 129 130 131 132 133 134 23 156 157 158 159 160 161 162
+15 100 101 102 103 104 105 106 20 135 136 137 138 139 140 141 24 163 164 165 166 167 168 169
+16 107 108 109 110 111 112 113 21 142 143 144 145 146 147 148 25 170 171 172 173 174 175 176
+17 114 115 116 117 118 119 120 22 149 150 151 26 177 178 179 180 181
+
+ July August September
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+26 182 183 31 213 214 215 216 217 218 35 244 245 246
+27 184 185 186 187 188 189 190 32 219 220 221 222 223 224 225 36 247 248 249 250 251 252 253
+28 191 192 193 194 195 196 197 33 226 227 228 229 230 231 232 37 254 255 256 257 258 259 260
+29 198 199 200 201 202 203 204 34 233 234 235 236 237 238 239 38 261 262 263 264 265 266 267
+30 205 206 207 208 209 210 211 35 240 241 242 243 39 268 269 270 271 272 273
+31 212
+ October November December
+ Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
+39 274 44 305 306 307 308 309 48 335 336 337
+40 275 276 277 278 279 280 281 45 310 311 312 313 314 315 316 49 338 339 340 341 342 343 344
+41 282 283 284 285 286 287 288 46 317 318 319 320 321 322 323 50 345 346 347 348 349 350 351
+42 289 290 291 292 293 294 295 47 324 325 326 327 328 329 330 51 352 353 354 355 356 357 358
+43 296 297 298 299 300 301 302 48 331 332 333 334 52 359 360 361 362 363 364 365
+44 303 304
diff --git a/tests/expected/cal/year-ymw b/tests/expected/cal/year-ymw
new file mode 100644
index 0000000..6bb8aa4
--- /dev/null
+++ b/tests/expected/cal/year-ymw
@@ -0,0 +1,35 @@
+Gregorian - Monday-based week with week numbers
+ 2006
+
+ January February March
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+52 1 5 1 2 3 4 5 9 1 2 3 4 5
+ 1 2 3 4 5 6 7 8 6 6 7 8 9 10 11 12 10 6 7 8 9 10 11 12
+ 2 9 10 11 12 13 14 15 7 13 14 15 16 17 18 19 11 13 14 15 16 17 18 19
+ 3 16 17 18 19 20 21 22 8 20 21 22 23 24 25 26 12 20 21 22 23 24 25 26
+ 4 23 24 25 26 27 28 29 9 27 28 13 27 28 29 30 31
+ 5 30 31
+ April May June
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+13 1 2 18 1 2 3 4 5 6 7 22 1 2 3 4
+14 3 4 5 6 7 8 9 19 8 9 10 11 12 13 14 23 5 6 7 8 9 10 11
+15 10 11 12 13 14 15 16 20 15 16 17 18 19 20 21 24 12 13 14 15 16 17 18
+16 17 18 19 20 21 22 23 21 22 23 24 25 26 27 28 25 19 20 21 22 23 24 25
+17 24 25 26 27 28 29 30 22 29 30 31 26 26 27 28 29 30
+
+ July August September
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+26 1 2 31 1 2 3 4 5 6 35 1 2 3
+27 3 4 5 6 7 8 9 32 7 8 9 10 11 12 13 36 4 5 6 7 8 9 10
+28 10 11 12 13 14 15 16 33 14 15 16 17 18 19 20 37 11 12 13 14 15 16 17
+29 17 18 19 20 21 22 23 34 21 22 23 24 25 26 27 38 18 19 20 21 22 23 24
+30 24 25 26 27 28 29 30 35 28 29 30 31 39 25 26 27 28 29 30
+31 31
+ October November December
+ Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
+39 1 44 1 2 3 4 5 48 1 2 3
+40 2 3 4 5 6 7 8 45 6 7 8 9 10 11 12 49 4 5 6 7 8 9 10
+41 9 10 11 12 13 14 15 46 13 14 15 16 17 18 19 50 11 12 13 14 15 16 17
+42 16 17 18 19 20 21 22 47 20 21 22 23 24 25 26 51 18 19 20 21 22 23 24
+43 23 24 25 26 27 28 29 48 27 28 29 30 52 25 26 27 28 29 30 31
+44 30 31
diff --git a/tests/expected/cal/year-ys b/tests/expected/cal/year-ys
new file mode 100644
index 0000000..7d37299
--- /dev/null
+++ b/tests/expected/cal/year-ys
@@ -0,0 +1,35 @@
+Gregorian - Sunday-based week
+ 2006
+
+ January February March
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
+29 30 31 26 27 28 26 27 28 29 30 31
+
+ April May June
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 1 2 3
+ 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
+ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
+16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
+23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
+30
+ July August September
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 1 2
+ 2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
+ 9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
+16 17 18 19 20 21 22 20 21 22 23 24 25 26 17 18 19 20 21 22 23
+23 24 25 26 27 28 29 27 28 29 30 31 24 25 26 27 28 29 30
+30 31
+ October November December
+Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 2 3 4 5 6 7 1 2 3 4 1 2
+ 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
+15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
+22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
+29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
+ 31
diff --git a/tests/expected/cal/year-ysj b/tests/expected/cal/year-ysj
new file mode 100644
index 0000000..080e257
--- /dev/null
+++ b/tests/expected/cal/year-ysj
@@ -0,0 +1,35 @@
+Julian - Sunday-based week
+ 2006
+
+ January February March
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 2 3 4 5 6 7 32 33 34 35 60 61 62 63
+ 8 9 10 11 12 13 14 36 37 38 39 40 41 42 64 65 66 67 68 69 70
+ 15 16 17 18 19 20 21 43 44 45 46 47 48 49 71 72 73 74 75 76 77
+ 22 23 24 25 26 27 28 50 51 52 53 54 55 56 78 79 80 81 82 83 84
+ 29 30 31 57 58 59 85 86 87 88 89 90
+
+ April May June
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 91 121 122 123 124 125 126 152 153 154
+ 92 93 94 95 96 97 98 127 128 129 130 131 132 133 155 156 157 158 159 160 161
+ 99 100 101 102 103 104 105 134 135 136 137 138 139 140 162 163 164 165 166 167 168
+106 107 108 109 110 111 112 141 142 143 144 145 146 147 169 170 171 172 173 174 175
+113 114 115 116 117 118 119 148 149 150 151 176 177 178 179 180 181
+120
+ July August September
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 182 213 214 215 216 217 244 245
+183 184 185 186 187 188 189 218 219 220 221 222 223 224 246 247 248 249 250 251 252
+190 191 192 193 194 195 196 225 226 227 228 229 230 231 253 254 255 256 257 258 259
+197 198 199 200 201 202 203 232 233 234 235 236 237 238 260 261 262 263 264 265 266
+204 205 206 207 208 209 210 239 240 241 242 243 267 268 269 270 271 272 273
+211 212
+ October November December
+Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+274 275 276 277 278 279 280 305 306 307 308 335 336
+281 282 283 284 285 286 287 309 310 311 312 313 314 315 337 338 339 340 341 342 343
+288 289 290 291 292 293 294 316 317 318 319 320 321 322 344 345 346 347 348 349 350
+295 296 297 298 299 300 301 323 324 325 326 327 328 329 351 352 353 354 355 356 357
+302 303 304 330 331 332 333 334 358 359 360 361 362 363 364
+ 365
diff --git a/tests/expected/cal/year-ysjw b/tests/expected/cal/year-ysjw
new file mode 100644
index 0000000..69dbae3
--- /dev/null
+++ b/tests/expected/cal/year-ysjw
@@ -0,0 +1,35 @@
+Julian - Sunday-based week with week numbers
+ 2006
+
+ January February March
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+ 1 1 2 3 4 5 6 7 5 32 33 34 35 9 60 61 62 63
+ 2 8 9 10 11 12 13 14 6 36 37 38 39 40 41 42 10 64 65 66 67 68 69 70
+ 3 15 16 17 18 19 20 21 7 43 44 45 46 47 48 49 11 71 72 73 74 75 76 77
+ 4 22 23 24 25 26 27 28 8 50 51 52 53 54 55 56 12 78 79 80 81 82 83 84
+ 5 29 30 31 9 57 58 59 13 85 86 87 88 89 90
+
+ April May June
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+13 91 18 121 122 123 124 125 126 22 152 153 154
+14 92 93 94 95 96 97 98 19 127 128 129 130 131 132 133 23 155 156 157 158 159 160 161
+15 99 100 101 102 103 104 105 20 134 135 136 137 138 139 140 24 162 163 164 165 166 167 168
+16 106 107 108 109 110 111 112 21 141 142 143 144 145 146 147 25 169 170 171 172 173 174 175
+17 113 114 115 116 117 118 119 22 148 149 150 151 26 176 177 178 179 180 181
+18 120
+ July August September
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+26 182 31 213 214 215 216 217 35 244 245
+27 183 184 185 186 187 188 189 32 218 219 220 221 222 223 224 36 246 247 248 249 250 251 252
+28 190 191 192 193 194 195 196 33 225 226 227 228 229 230 231 37 253 254 255 256 257 258 259
+29 197 198 199 200 201 202 203 34 232 233 234 235 236 237 238 38 260 261 262 263 264 265 266
+30 204 205 206 207 208 209 210 35 239 240 241 242 243 39 267 268 269 270 271 272 273
+31 211 212
+ October November December
+ Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
+40 274 275 276 277 278 279 280 44 305 306 307 308 48 335 336
+41 281 282 283 284 285 286 287 45 309 310 311 312 313 314 315 49 337 338 339 340 341 342 343
+42 288 289 290 291 292 293 294 46 316 317 318 319 320 321 322 50 344 345 346 347 348 349 350
+43 295 296 297 298 299 300 301 47 323 324 325 326 327 328 329 51 351 352 353 354 355 356 357
+44 302 303 304 48 330 331 332 333 334 52 358 359 360 361 362 363 364
+ 53 365
diff --git a/tests/expected/cal/year-ysw b/tests/expected/cal/year-ysw
new file mode 100644
index 0000000..c61f778
--- /dev/null
+++ b/tests/expected/cal/year-ysw
@@ -0,0 +1,35 @@
+Gregorian - Sunday-based week with week numbers
+ 2006
+
+ January February March
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+ 1 1 2 3 4 5 6 7 5 1 2 3 4 9 1 2 3 4
+ 2 8 9 10 11 12 13 14 6 5 6 7 8 9 10 11 10 5 6 7 8 9 10 11
+ 3 15 16 17 18 19 20 21 7 12 13 14 15 16 17 18 11 12 13 14 15 16 17 18
+ 4 22 23 24 25 26 27 28 8 19 20 21 22 23 24 25 12 19 20 21 22 23 24 25
+ 5 29 30 31 9 26 27 28 13 26 27 28 29 30 31
+
+ April May June
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+13 1 18 1 2 3 4 5 6 22 1 2 3
+14 2 3 4 5 6 7 8 19 7 8 9 10 11 12 13 23 4 5 6 7 8 9 10
+15 9 10 11 12 13 14 15 20 14 15 16 17 18 19 20 24 11 12 13 14 15 16 17
+16 16 17 18 19 20 21 22 21 21 22 23 24 25 26 27 25 18 19 20 21 22 23 24
+17 23 24 25 26 27 28 29 22 28 29 30 31 26 25 26 27 28 29 30
+18 30
+ July August September
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+26 1 31 1 2 3 4 5 35 1 2
+27 2 3 4 5 6 7 8 32 6 7 8 9 10 11 12 36 3 4 5 6 7 8 9
+28 9 10 11 12 13 14 15 33 13 14 15 16 17 18 19 37 10 11 12 13 14 15 16
+29 16 17 18 19 20 21 22 34 20 21 22 23 24 25 26 38 17 18 19 20 21 22 23
+30 23 24 25 26 27 28 29 35 27 28 29 30 31 39 24 25 26 27 28 29 30
+31 30 31
+ October November December
+ Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
+40 1 2 3 4 5 6 7 44 1 2 3 4 48 1 2
+41 8 9 10 11 12 13 14 45 5 6 7 8 9 10 11 49 3 4 5 6 7 8 9
+42 15 16 17 18 19 20 21 46 12 13 14 15 16 17 18 50 10 11 12 13 14 15 16
+43 22 23 24 25 26 27 28 47 19 20 21 22 23 24 25 51 17 18 19 20 21 22 23
+44 29 30 31 48 26 27 28 29 30 52 24 25 26 27 28 29 30
+ 53 31