From aa9f5a40eb9ffcc35dfe5a7b68ade31b6f961196 Mon Sep 17 00:00:00 2001 From: Yisu Kim Date: Thu, 2 Apr 2026 19:12:51 +1100 Subject: [PATCH] fix(AU): 26 Dec substitute rules for NT and SA NT from 2023-12-26 SA from 2024-12-26 --- data/countries/AU.yaml | 18 ++++++++++++++---- test/fixtures/AU-NT-2023.json | 2 +- test/fixtures/AU-NT-2024.json | 2 +- test/fixtures/AU-NT-2025.json | 2 +- test/fixtures/AU-NT-2026.json | 14 ++++++++++++-- test/fixtures/AU-NT-2027.json | 14 ++++++++++++-- test/fixtures/AU-NT-2028.json | 2 +- test/fixtures/AU-NT-2029.json | 2 +- test/fixtures/AU-SA-2024.json | 2 +- test/fixtures/AU-SA-2025.json | 2 +- test/fixtures/AU-SA-2026.json | 12 +++++++++++- test/fixtures/AU-SA-2027.json | 12 +++++++++++- test/fixtures/AU-SA-2028.json | 2 +- test/fixtures/AU-SA-2029.json | 2 +- 14 files changed, 69 insertions(+), 19 deletions(-) diff --git a/data/countries/AU.yaml b/data/countries/AU.yaml index c9d5e1bfb..047932153 100644 --- a/data/countries/AU.yaml +++ b/data/countries/AU.yaml @@ -148,10 +148,15 @@ holidays: 12-25 if saturday then next monday if sunday then next tuesday: substitute: true _name: 12-25 - 12-26 and if saturday then next monday if sunday then next tuesday: false - 12-26 if saturday then next monday if sunday then next tuesday: + 12-26 and if saturday then next monday if sunday then next tuesday: substitute: true _name: 12-26 + active: + - from: "2023-12-26" + 12-26 if saturday then next monday if sunday then next tuesday: + _name: 12-26 + active: + - to: "2023-12-26" 12-31 19:00: _name: 12-31 # @source https://www.legislation.qld.gov.au/view/html/inforce/current/act-1983-018 @@ -210,10 +215,15 @@ holidays: 12-25 if saturday then next monday if sunday then next tuesday: substitute: true _name: 12-25 - 12-26 and if saturday then next monday if sunday then next tuesday: false - 12-26 if saturday then next monday if sunday then next tuesday: + 12-26 and if saturday then next monday if sunday then next tuesday: substitute: true name: Proclamation Day + active: + - from: "2024-12-26" + 12-26 if saturday then next monday if sunday then next tuesday: + name: Proclamation Day + active: + - to: "2024-12-26" 12-31 19:00: _name: 12-31 # @source https://www.legislation.tas.gov.au/view/html/inforce/current/act-2000-096 diff --git a/test/fixtures/AU-NT-2023.json b/test/fixtures/AU-NT-2023.json index 257ac0b0f..761a5d846 100644 --- a/test/fixtures/AU-NT-2023.json +++ b/test/fixtures/AU-NT-2023.json @@ -131,7 +131,7 @@ "end": "2023-12-26T14:30:00.000Z", "name": "Boxing Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { diff --git a/test/fixtures/AU-NT-2024.json b/test/fixtures/AU-NT-2024.json index d983b3c9f..96fe4f06f 100644 --- a/test/fixtures/AU-NT-2024.json +++ b/test/fixtures/AU-NT-2024.json @@ -122,7 +122,7 @@ "end": "2024-12-26T14:30:00.000Z", "name": "Boxing Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { diff --git a/test/fixtures/AU-NT-2025.json b/test/fixtures/AU-NT-2025.json index d2981d91f..210bb902b 100644 --- a/test/fixtures/AU-NT-2025.json +++ b/test/fixtures/AU-NT-2025.json @@ -122,7 +122,7 @@ "end": "2025-12-26T14:30:00.000Z", "name": "Boxing Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { diff --git a/test/fixtures/AU-NT-2026.json b/test/fixtures/AU-NT-2026.json index 9ca004a7e..789abc101 100644 --- a/test/fixtures/AU-NT-2026.json +++ b/test/fixtures/AU-NT-2026.json @@ -116,13 +116,23 @@ "rule": "12-25 if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, + { + "date": "2026-12-26 00:00:00", + "start": "2026-12-25T14:30:00.000Z", + "end": "2026-12-26T14:30:00.000Z", + "name": "Boxing Day", + "type": "public", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Sat" + }, { "date": "2026-12-28 00:00:00", "start": "2026-12-27T14:30:00.000Z", "end": "2026-12-28T14:30:00.000Z", - "name": "Boxing Day", + "name": "Boxing Day (substitute day)", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "substitute": true, + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { diff --git a/test/fixtures/AU-NT-2027.json b/test/fixtures/AU-NT-2027.json index 3a5a5dcfb..659cac8bd 100644 --- a/test/fixtures/AU-NT-2027.json +++ b/test/fixtures/AU-NT-2027.json @@ -107,6 +107,15 @@ "rule": "12-24 19:00", "_weekday": "Fri" }, + { + "date": "2027-12-26 00:00:00", + "start": "2027-12-25T14:30:00.000Z", + "end": "2027-12-26T14:30:00.000Z", + "name": "Boxing Day", + "type": "public", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Sun" + }, { "date": "2027-12-27 00:00:00", "start": "2027-12-26T14:30:00.000Z", @@ -120,9 +129,10 @@ "date": "2027-12-28 00:00:00", "start": "2027-12-27T14:30:00.000Z", "end": "2027-12-28T14:30:00.000Z", - "name": "Boxing Day", + "name": "Boxing Day (substitute day)", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "substitute": true, + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { diff --git a/test/fixtures/AU-NT-2028.json b/test/fixtures/AU-NT-2028.json index 4a052f0cb..61d7533e1 100644 --- a/test/fixtures/AU-NT-2028.json +++ b/test/fixtures/AU-NT-2028.json @@ -131,7 +131,7 @@ "end": "2028-12-26T14:30:00.000Z", "name": "Boxing Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { diff --git a/test/fixtures/AU-NT-2029.json b/test/fixtures/AU-NT-2029.json index b16fa1311..cf65d38f2 100644 --- a/test/fixtures/AU-NT-2029.json +++ b/test/fixtures/AU-NT-2029.json @@ -122,7 +122,7 @@ "end": "2029-12-26T14:30:00.000Z", "name": "Boxing Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Wed" }, { diff --git a/test/fixtures/AU-SA-2024.json b/test/fixtures/AU-SA-2024.json index 90cbc6ad6..d460b9c52 100644 --- a/test/fixtures/AU-SA-2024.json +++ b/test/fixtures/AU-SA-2024.json @@ -122,7 +122,7 @@ "end": "2024-12-26T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Thu" }, { diff --git a/test/fixtures/AU-SA-2025.json b/test/fixtures/AU-SA-2025.json index 58bc8817e..e58d41457 100644 --- a/test/fixtures/AU-SA-2025.json +++ b/test/fixtures/AU-SA-2025.json @@ -122,7 +122,7 @@ "end": "2025-12-26T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, { diff --git a/test/fixtures/AU-SA-2026.json b/test/fixtures/AU-SA-2026.json index b12408021..23e8c4c45 100644 --- a/test/fixtures/AU-SA-2026.json +++ b/test/fixtures/AU-SA-2026.json @@ -116,13 +116,23 @@ "rule": "12-25 if saturday then next monday if sunday then next tuesday", "_weekday": "Fri" }, + { + "date": "2026-12-26 00:00:00", + "start": "2026-12-25T13:30:00.000Z", + "end": "2026-12-26T13:30:00.000Z", + "name": "Proclamation Day", + "type": "public", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Sat" + }, { "date": "2026-12-28 00:00:00", "start": "2026-12-27T13:30:00.000Z", "end": "2026-12-28T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "substitute": true, + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Mon" }, { diff --git a/test/fixtures/AU-SA-2027.json b/test/fixtures/AU-SA-2027.json index 54fd0588b..e4b9de0f8 100644 --- a/test/fixtures/AU-SA-2027.json +++ b/test/fixtures/AU-SA-2027.json @@ -107,6 +107,15 @@ "rule": "12-24 19:00", "_weekday": "Fri" }, + { + "date": "2027-12-26 00:00:00", + "start": "2027-12-25T13:30:00.000Z", + "end": "2027-12-26T13:30:00.000Z", + "name": "Proclamation Day", + "type": "public", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", + "_weekday": "Sun" + }, { "date": "2027-12-27 00:00:00", "start": "2027-12-26T13:30:00.000Z", @@ -122,7 +131,8 @@ "end": "2027-12-28T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "substitute": true, + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { diff --git a/test/fixtures/AU-SA-2028.json b/test/fixtures/AU-SA-2028.json index 571ee29fb..f70523dad 100644 --- a/test/fixtures/AU-SA-2028.json +++ b/test/fixtures/AU-SA-2028.json @@ -131,7 +131,7 @@ "end": "2028-12-26T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Tue" }, { diff --git a/test/fixtures/AU-SA-2029.json b/test/fixtures/AU-SA-2029.json index 1d0d7cda1..b2476ed61 100644 --- a/test/fixtures/AU-SA-2029.json +++ b/test/fixtures/AU-SA-2029.json @@ -122,7 +122,7 @@ "end": "2029-12-26T13:30:00.000Z", "name": "Proclamation Day", "type": "public", - "rule": "12-26 if saturday then next monday if sunday then next tuesday", + "rule": "12-26 and if saturday then next monday if sunday then next tuesday", "_weekday": "Wed" }, {