revised_holidays 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +25 -0
  3. data/CHANGELOG.md +446 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE +21 -0
  7. data/Makefile +45 -0
  8. data/README.md +337 -0
  9. data/Rakefile +109 -0
  10. data/bin/console +7 -0
  11. data/bin/setup +6 -0
  12. data/definitions/.github/workflows/ruby.yml +25 -0
  13. data/definitions/.gitignore +5 -0
  14. data/definitions/CHANGELOG.md +352 -0
  15. data/definitions/Gemfile +6 -0
  16. data/definitions/LICENSE +21 -0
  17. data/definitions/METHODS.yml +26 -0
  18. data/definitions/Makefile +9 -0
  19. data/definitions/README.md +22 -0
  20. data/definitions/ar.yaml +268 -0
  21. data/definitions/at.yaml +116 -0
  22. data/definitions/au.yaml +907 -0
  23. data/definitions/be_fr.yaml +153 -0
  24. data/definitions/be_nl.yaml +153 -0
  25. data/definitions/bg.yaml +186 -0
  26. data/definitions/br.yaml +178 -0
  27. data/definitions/ca.yaml +969 -0
  28. data/definitions/ch.yaml +277 -0
  29. data/definitions/cl.yaml +294 -0
  30. data/definitions/co.yaml +437 -0
  31. data/definitions/cr.yaml +100 -0
  32. data/definitions/cz.yaml +137 -0
  33. data/definitions/de.yaml +401 -0
  34. data/definitions/dk.yaml +220 -0
  35. data/definitions/doc/CONTRIBUTING.md +44 -0
  36. data/definitions/doc/MAINTAINERS.md +39 -0
  37. data/definitions/doc/SYNTAX.md +435 -0
  38. data/definitions/doc/architecture/README.md +15 -0
  39. data/definitions/doc/architecture/adr-001.md +86 -0
  40. data/definitions/doc/architecture/adr-002.md +64 -0
  41. data/definitions/ecbtarget.yaml +74 -0
  42. data/definitions/ee.yaml +123 -0
  43. data/definitions/es.yaml +495 -0
  44. data/definitions/federalreserve.yaml +389 -0
  45. data/definitions/federalreservebanks.yaml +821 -0
  46. data/definitions/fedex.yaml +102 -0
  47. data/definitions/fi.yaml +234 -0
  48. data/definitions/fr.yaml +157 -0
  49. data/definitions/gb.yaml +565 -0
  50. data/definitions/ge.yaml +158 -0
  51. data/definitions/gr.yaml +158 -0
  52. data/definitions/hk.yaml +287 -0
  53. data/definitions/hr.yaml +171 -0
  54. data/definitions/hu.yaml +156 -0
  55. data/definitions/ie.yaml +172 -0
  56. data/definitions/index.yaml +80 -0
  57. data/definitions/is.yaml +247 -0
  58. data/definitions/it.yaml +246 -0
  59. data/definitions/jp.yaml +761 -0
  60. data/definitions/ke.yaml +107 -0
  61. data/definitions/kr.yaml +166 -0
  62. data/definitions/kz.yaml +128 -0
  63. data/definitions/li.yaml +154 -0
  64. data/definitions/lib/validation/custom_method_validator.rb +38 -0
  65. data/definitions/lib/validation/definition_validator.rb +35 -0
  66. data/definitions/lib/validation/error.rb +11 -0
  67. data/definitions/lib/validation/month_validator.rb +58 -0
  68. data/definitions/lib/validation/run.rb +66 -0
  69. data/definitions/lib/validation/test_validator.rb +83 -0
  70. data/definitions/lt.yaml +198 -0
  71. data/definitions/lu.yaml +123 -0
  72. data/definitions/lv.yaml +229 -0
  73. data/definitions/ma.yaml +96 -0
  74. data/definitions/mt_en.yaml +131 -0
  75. data/definitions/mt_mt.yaml +131 -0
  76. data/definitions/mx.yaml +160 -0
  77. data/definitions/my.yaml +79 -0
  78. data/definitions/nerc.yaml +94 -0
  79. data/definitions/ng.yaml +97 -0
  80. data/definitions/nl.yaml +127 -0
  81. data/definitions/no.yaml +169 -0
  82. data/definitions/northamericainformal.yaml +105 -0
  83. data/definitions/nyse.yaml +137 -0
  84. data/definitions/nz.yaml +346 -0
  85. data/definitions/pe.yaml +208 -0
  86. data/definitions/ph.yaml +130 -0
  87. data/definitions/pl.yaml +796 -0
  88. data/definitions/pt.yaml +187 -0
  89. data/definitions/ro.yaml +240 -0
  90. data/definitions/rs_cyrl.yaml +129 -0
  91. data/definitions/rs_la.yaml +129 -0
  92. data/definitions/ru.yaml +108 -0
  93. data/definitions/se.yaml +238 -0
  94. data/definitions/sg.yaml +89 -0
  95. data/definitions/si.yaml +162 -0
  96. data/definitions/sk.yaml +154 -0
  97. data/definitions/spec/coverage_report.rb +7 -0
  98. data/definitions/spec/data/invalid/months/malformed/bad.yaml +15 -0
  99. data/definitions/spec/data/invalid/months/missing/no_months.yaml +9 -0
  100. data/definitions/spec/data/valid/simple.yaml +15 -0
  101. data/definitions/spec/spec_helper.rb +7 -0
  102. data/definitions/spec/validation/custom_method_validator_spec.rb +60 -0
  103. data/definitions/spec/validation/definition_validator_spec.rb +43 -0
  104. data/definitions/spec/validation/month_validator_spec.rb +175 -0
  105. data/definitions/spec/validation/test_validator_spec.rb +169 -0
  106. data/definitions/th.yaml +111 -0
  107. data/definitions/tn.yaml +83 -0
  108. data/definitions/tr.yaml +174 -0
  109. data/definitions/ua.yaml +161 -0
  110. data/definitions/unitednations.yaml +189 -0
  111. data/definitions/ups.yaml +102 -0
  112. data/definitions/us.yaml +965 -0
  113. data/definitions/ve.yaml +118 -0
  114. data/definitions/vi.yaml +54 -0
  115. data/definitions/za.yaml +139 -0
  116. data/doc/CONTRIBUTING.md +72 -0
  117. data/doc/MAINTAINERS.md +81 -0
  118. data/doc/REFERENCES +19 -0
  119. data/lib/generated_definitions/MANIFEST +83 -0
  120. data/lib/generated_definitions/REGIONS.rb +6 -0
  121. data/lib/generated_definitions/ar.rb +60 -0
  122. data/lib/generated_definitions/at.rb +37 -0
  123. data/lib/generated_definitions/au.rb +177 -0
  124. data/lib/generated_definitions/be.rb +42 -0
  125. data/lib/generated_definitions/be_fr.rb +36 -0
  126. data/lib/generated_definitions/be_nl.rb +36 -0
  127. data/lib/generated_definitions/bg.rb +53 -0
  128. data/lib/generated_definitions/br.rb +37 -0
  129. data/lib/generated_definitions/ca.rb +88 -0
  130. data/lib/generated_definitions/ch.rb +95 -0
  131. data/lib/generated_definitions/cl.rb +71 -0
  132. data/lib/generated_definitions/co.rb +121 -0
  133. data/lib/generated_definitions/cr.rb +35 -0
  134. data/lib/generated_definitions/cz.rb +37 -0
  135. data/lib/generated_definitions/de.rb +65 -0
  136. data/lib/generated_definitions/dk.rb +48 -0
  137. data/lib/generated_definitions/ecbtarget.rb +30 -0
  138. data/lib/generated_definitions/ee.rb +36 -0
  139. data/lib/generated_definitions/el.rb +38 -0
  140. data/lib/generated_definitions/es.rb +56 -0
  141. data/lib/generated_definitions/europe.rb +638 -0
  142. data/lib/generated_definitions/federalreserve.rb +35 -0
  143. data/lib/generated_definitions/federalreservebanks.rb +35 -0
  144. data/lib/generated_definitions/fedex.rb +36 -0
  145. data/lib/generated_definitions/fi.rb +61 -0
  146. data/lib/generated_definitions/fr.rb +39 -0
  147. data/lib/generated_definitions/gb.rb +51 -0
  148. data/lib/generated_definitions/ge.rb +41 -0
  149. data/lib/generated_definitions/gr.rb +38 -0
  150. data/lib/generated_definitions/hk.rb +106 -0
  151. data/lib/generated_definitions/hr.rb +40 -0
  152. data/lib/generated_definitions/hu.rb +35 -0
  153. data/lib/generated_definitions/ie.rb +33 -0
  154. data/lib/generated_definitions/is.rb +60 -0
  155. data/lib/generated_definitions/it.rb +45 -0
  156. data/lib/generated_definitions/jp.rb +166 -0
  157. data/lib/generated_definitions/ke.rb +34 -0
  158. data/lib/generated_definitions/kr.rb +40 -0
  159. data/lib/generated_definitions/kz.rb +38 -0
  160. data/lib/generated_definitions/li.rb +44 -0
  161. data/lib/generated_definitions/lt.rb +38 -0
  162. data/lib/generated_definitions/lu.rb +35 -0
  163. data/lib/generated_definitions/lv.rb +56 -0
  164. data/lib/generated_definitions/ma.rb +33 -0
  165. data/lib/generated_definitions/mt_en.rb +38 -0
  166. data/lib/generated_definitions/mt_mt.rb +38 -0
  167. data/lib/generated_definitions/mx.rb +54 -0
  168. data/lib/generated_definitions/my.rb +30 -0
  169. data/lib/generated_definitions/nerc.rb +30 -0
  170. data/lib/generated_definitions/ng.rb +33 -0
  171. data/lib/generated_definitions/nl.rb +37 -0
  172. data/lib/generated_definitions/no.rb +40 -0
  173. data/lib/generated_definitions/northamerica.rb +229 -0
  174. data/lib/generated_definitions/nyse.rb +34 -0
  175. data/lib/generated_definitions/nz.rb +105 -0
  176. data/lib/generated_definitions/pe.rb +43 -0
  177. data/lib/generated_definitions/ph.rb +50 -0
  178. data/lib/generated_definitions/pl.rb +73 -0
  179. data/lib/generated_definitions/pt.rb +40 -0
  180. data/lib/generated_definitions/ro.rb +39 -0
  181. data/lib/generated_definitions/rs_cyrl.rb +39 -0
  182. data/lib/generated_definitions/rs_la.rb +39 -0
  183. data/lib/generated_definitions/ru.rb +37 -0
  184. data/lib/generated_definitions/scandinavia.rb +166 -0
  185. data/lib/generated_definitions/se.rb +53 -0
  186. data/lib/generated_definitions/sg.rb +31 -0
  187. data/lib/generated_definitions/si.rb +39 -0
  188. data/lib/generated_definitions/sk.rb +39 -0
  189. data/lib/generated_definitions/southamerica.rb +248 -0
  190. data/lib/generated_definitions/th.rb +36 -0
  191. data/lib/generated_definitions/tn.rb +32 -0
  192. data/lib/generated_definitions/tr.rb +64 -0
  193. data/lib/generated_definitions/ua.rb +37 -0
  194. data/lib/generated_definitions/unitednations.rb +81 -0
  195. data/lib/generated_definitions/ups.rb +36 -0
  196. data/lib/generated_definitions/us.rb +153 -0
  197. data/lib/generated_definitions/ve.rb +36 -0
  198. data/lib/generated_definitions/vi.rb +29 -0
  199. data/lib/generated_definitions/za.rb +36 -0
  200. data/lib/holidays/core_extensions/date.rb +57 -0
  201. data/lib/holidays/core_extensions/time.rb +23 -0
  202. data/lib/holidays/date_calculator/day_of_month.rb +68 -0
  203. data/lib/holidays/date_calculator/easter.rb +91 -0
  204. data/lib/holidays/date_calculator/lunar_date.rb +371 -0
  205. data/lib/holidays/date_calculator/weekend_modifier.rb +80 -0
  206. data/lib/holidays/definition/context/function_processor.rb +91 -0
  207. data/lib/holidays/definition/context/generator.rb +209 -0
  208. data/lib/holidays/definition/context/load.rb +29 -0
  209. data/lib/holidays/definition/context/merger.rb +22 -0
  210. data/lib/holidays/definition/decorator/custom_method_proc.rb +28 -0
  211. data/lib/holidays/definition/decorator/custom_method_source.rb +30 -0
  212. data/lib/holidays/definition/decorator/test.rb +37 -0
  213. data/lib/holidays/definition/entity/custom_method.rb +11 -0
  214. data/lib/holidays/definition/entity/test.rb +11 -0
  215. data/lib/holidays/definition/generator/module.rb +54 -0
  216. data/lib/holidays/definition/generator/regions.rb +55 -0
  217. data/lib/holidays/definition/generator/test.rb +51 -0
  218. data/lib/holidays/definition/parser/custom_method.rb +67 -0
  219. data/lib/holidays/definition/parser/test.rb +86 -0
  220. data/lib/holidays/definition/repository/cache.rb +47 -0
  221. data/lib/holidays/definition/repository/custom_methods.rb +27 -0
  222. data/lib/holidays/definition/repository/holidays_by_month.rb +57 -0
  223. data/lib/holidays/definition/repository/proc_result_cache.rb +51 -0
  224. data/lib/holidays/definition/repository/regions.rb +46 -0
  225. data/lib/holidays/definition/validator/custom_method.rb +31 -0
  226. data/lib/holidays/definition/validator/region.rb +36 -0
  227. data/lib/holidays/definition/validator/test.rb +71 -0
  228. data/lib/holidays/errors.rb +11 -0
  229. data/lib/holidays/factory/date_calculator.rb +42 -0
  230. data/lib/holidays/factory/definition.rb +143 -0
  231. data/lib/holidays/factory/finder.rb +70 -0
  232. data/lib/holidays/finder/context/between.rb +45 -0
  233. data/lib/holidays/finder/context/dates_driver_builder.rb +64 -0
  234. data/lib/holidays/finder/context/next_holiday.rb +57 -0
  235. data/lib/holidays/finder/context/parse_options.rb +104 -0
  236. data/lib/holidays/finder/context/search.rb +111 -0
  237. data/lib/holidays/finder/context/year_holiday.rb +57 -0
  238. data/lib/holidays/finder/rules/in_region.rb +31 -0
  239. data/lib/holidays/finder/rules/year_range.rb +58 -0
  240. data/lib/holidays/load_all_definitions.rb +56 -0
  241. data/lib/holidays/version.rb +3 -0
  242. data/lib/holidays.rb +130 -0
  243. data/lib/revised_holidays.rb +1 -0
  244. data/revised_holidays.gemspec +31 -0
  245. data/test/coverage_report.rb +26 -0
  246. data/test/data/test_custom_govt_holiday_defs.yaml +5 -0
  247. data/test/data/test_custom_informal_holidays_defs.yaml +11 -0
  248. data/test/data/test_custom_year_range_holiday_defs.yaml +31 -0
  249. data/test/data/test_invalid_region.rb +15 -0
  250. data/test/data/test_multiple_custom_holiday_defs.yaml +12 -0
  251. data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
  252. data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
  253. data/test/data/test_region.rb +15 -0
  254. data/test/data/test_single_custom_holiday_defs.yaml +12 -0
  255. data/test/data/test_single_custom_holiday_with_custom_procs.yaml +28 -0
  256. data/test/defs/test_defs_ar.rb +69 -0
  257. data/test/defs/test_defs_at.rb +31 -0
  258. data/test/defs/test_defs_au.rb +233 -0
  259. data/test/defs/test_defs_be_fr.rb +45 -0
  260. data/test/defs/test_defs_be_nl.rb +45 -0
  261. data/test/defs/test_defs_bg.rb +41 -0
  262. data/test/defs/test_defs_br.rb +49 -0
  263. data/test/defs/test_defs_ca.rb +289 -0
  264. data/test/defs/test_defs_ch.rb +51 -0
  265. data/test/defs/test_defs_cl.rb +69 -0
  266. data/test/defs/test_defs_co.rb +113 -0
  267. data/test/defs/test_defs_cr.rb +29 -0
  268. data/test/defs/test_defs_cz.rb +37 -0
  269. data/test/defs/test_defs_de.rb +89 -0
  270. data/test/defs/test_defs_dk.rb +47 -0
  271. data/test/defs/test_defs_ecbtarget.rb +27 -0
  272. data/test/defs/test_defs_ee.rb +41 -0
  273. data/test/defs/test_defs_es.rb +137 -0
  274. data/test/defs/test_defs_europe.rb +1522 -0
  275. data/test/defs/test_defs_fed_ex.rb +24 -0
  276. data/test/defs/test_defs_federalreserve.rb +119 -0
  277. data/test/defs/test_defs_federalreservebanks.rb +251 -0
  278. data/test/defs/test_defs_fedex.rb +31 -0
  279. data/test/defs/test_defs_fi.rb +59 -0
  280. data/test/defs/test_defs_fr.rb +43 -0
  281. data/test/defs/test_defs_gb.rb +159 -0
  282. data/test/defs/test_defs_ge.rb +53 -0
  283. data/test/defs/test_defs_gr.rb +41 -0
  284. data/test/defs/test_defs_hk.rb +59 -0
  285. data/test/defs/test_defs_hr.rb +45 -0
  286. data/test/defs/test_defs_hu.rb +47 -0
  287. data/test/defs/test_defs_ie.rb +53 -0
  288. data/test/defs/test_defs_is.rb +51 -0
  289. data/test/defs/test_defs_it.rb +55 -0
  290. data/test/defs/test_defs_jp.rb +159 -0
  291. data/test/defs/test_defs_ke.rb +31 -0
  292. data/test/defs/test_defs_kr.rb +37 -0
  293. data/test/defs/test_defs_kz.rb +39 -0
  294. data/test/defs/test_defs_li.rb +35 -0
  295. data/test/defs/test_defs_lt.rb +65 -0
  296. data/test/defs/test_defs_lu.rb +35 -0
  297. data/test/defs/test_defs_lv.rb +98 -0
  298. data/test/defs/test_defs_ma.rb +29 -0
  299. data/test/defs/test_defs_mt_en.rb +41 -0
  300. data/test/defs/test_defs_mt_mt.rb +41 -0
  301. data/test/defs/test_defs_mx.rb +49 -0
  302. data/test/defs/test_defs_my.rb +23 -0
  303. data/test/defs/test_defs_nerc.rb +29 -0
  304. data/test/defs/test_defs_ng.rb +29 -0
  305. data/test/defs/test_defs_nl.rb +33 -0
  306. data/test/defs/test_defs_no.rb +43 -0
  307. data/test/defs/test_defs_northamerica.rb +667 -0
  308. data/test/defs/test_defs_nyse.rb +46 -0
  309. data/test/defs/test_defs_nz.rb +67 -0
  310. data/test/defs/test_defs_pe.rb +47 -0
  311. data/test/defs/test_defs_ph.rb +29 -0
  312. data/test/defs/test_defs_pl.rb +229 -0
  313. data/test/defs/test_defs_pt.rb +47 -0
  314. data/test/defs/test_defs_ro.rb +65 -0
  315. data/test/defs/test_defs_rs_cyrl.rb +46 -0
  316. data/test/defs/test_defs_rs_la.rb +46 -0
  317. data/test/defs/test_defs_ru.rb +34 -0
  318. data/test/defs/test_defs_scandinavia.rb +215 -0
  319. data/test/defs/test_defs_se.rb +59 -0
  320. data/test/defs/test_defs_sg.rb +25 -0
  321. data/test/defs/test_defs_si.rb +105 -0
  322. data/test/defs/test_defs_sk.rb +41 -0
  323. data/test/defs/test_defs_southamerica.rb +327 -0
  324. data/test/defs/test_defs_th.rb +33 -0
  325. data/test/defs/test_defs_tn.rb +27 -0
  326. data/test/defs/test_defs_tr.rb +60 -0
  327. data/test/defs/test_defs_ua.rb +41 -0
  328. data/test/defs/test_defs_unitednations.rb +11 -0
  329. data/test/defs/test_defs_ups.rb +31 -0
  330. data/test/defs/test_defs_us.rb +387 -0
  331. data/test/defs/test_defs_ve.rb +35 -0
  332. data/test/defs/test_defs_vi.rb +22 -0
  333. data/test/defs/test_defs_za.rb +35 -0
  334. data/test/holidays/core_extensions/test_date.rb +122 -0
  335. data/test/holidays/core_extensions/test_date_time.rb +60 -0
  336. data/test/holidays/date_calculator/test_day_of_month.rb +27 -0
  337. data/test/holidays/date_calculator/test_easter_gregorian.rb +30 -0
  338. data/test/holidays/date_calculator/test_easter_julian.rb +36 -0
  339. data/test/holidays/date_calculator/test_lunar_date.rb +89 -0
  340. data/test/holidays/date_calculator/test_weekend_modifier.rb +54 -0
  341. data/test/holidays/definition/context/test_function_processor.rb +199 -0
  342. data/test/holidays/definition/context/test_generator.rb +226 -0
  343. data/test/holidays/definition/context/test_load.rb +37 -0
  344. data/test/holidays/definition/context/test_merger.rb +25 -0
  345. data/test/holidays/definition/decorator/test_custom_method_proc.rb +113 -0
  346. data/test/holidays/definition/decorator/test_custom_method_source.rb +96 -0
  347. data/test/holidays/definition/decorator/test_test.rb +123 -0
  348. data/test/holidays/definition/generator/test_module.rb +268 -0
  349. data/test/holidays/definition/generator/test_regions.rb +97 -0
  350. data/test/holidays/definition/generator/test_test.rb +113 -0
  351. data/test/holidays/definition/parser/test_custom_method.rb +79 -0
  352. data/test/holidays/definition/parser/test_test.rb +142 -0
  353. data/test/holidays/definition/repository/test_cache.rb +123 -0
  354. data/test/holidays/definition/repository/test_custom_methods.rb +43 -0
  355. data/test/holidays/definition/repository/test_holidays_by_month.rb +275 -0
  356. data/test/holidays/definition/repository/test_proc_result_cache.rb +91 -0
  357. data/test/holidays/definition/repository/test_regions.rb +104 -0
  358. data/test/holidays/definition/validator/test_custom_method.rb +94 -0
  359. data/test/holidays/definition/validator/test_region.rb +54 -0
  360. data/test/holidays/definition/validator/test_test.rb +60 -0
  361. data/test/holidays/finder/context/test_between.rb +172 -0
  362. data/test/holidays/finder/context/test_dates_driver_builder.rb +91 -0
  363. data/test/holidays/finder/context/test_next_holiday.rb +156 -0
  364. data/test/holidays/finder/context/test_parse_options.rb +141 -0
  365. data/test/holidays/finder/context/test_search.rb +232 -0
  366. data/test/holidays/finder/context/test_year_holiday.rb +202 -0
  367. data/test/holidays/finder/rules/test_in_region.rb +42 -0
  368. data/test/holidays/finder/rules/test_year_range.rb +166 -0
  369. data/test/integration/README.md +9 -0
  370. data/test/integration/test_all_regions.rb +49 -0
  371. data/test/integration/test_any_holidays_during_work_week.rb +90 -0
  372. data/test/integration/test_available_regions.rb +23 -0
  373. data/test/integration/test_custom_holidays.rb +41 -0
  374. data/test/integration/test_custom_informal_holidays.rb +15 -0
  375. data/test/integration/test_custom_year_range_holidays.rb +35 -0
  376. data/test/integration/test_holidays.rb +243 -0
  377. data/test/integration/test_holidays_between.rb +87 -0
  378. data/test/integration/test_multiple_regions.rb +71 -0
  379. data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
  380. data/test/integration/test_nonstandard_regions.rb +25 -0
  381. data/test/test_helper.rb +37 -0
  382. metadata +649 -0
@@ -0,0 +1,907 @@
1
+ # Australian holiday definitions for the Ruby Holiday gem.
2
+ # Updated: 2020-07-15
3
+ # Sources:
4
+ # - http://en.wikipedia.org/wiki/Australian_public_holidays
5
+ # - http://www.docep.wa.gov.au/lr/LabourRelations/Content/Wages%20and%20Conditions/Public%20Holidays/Public_Holidays.html
6
+ # - http://www.wst.tas.gov.au/employment_info/public_holidays
7
+ # - https://www.fairwork.gov.au/leave/public-holidays/list-of-public-holidays
8
+ ---
9
+ months:
10
+ 0:
11
+ - name: Good Friday
12
+ regions: [au]
13
+ function: easter(year)
14
+ function_modifier: -2
15
+ - name: Easter Saturday
16
+ regions: [au_nsw, au_vic, au_qld, au_nt, au_act, au_sa]
17
+ function: easter(year)
18
+ function_modifier: -1
19
+ - name: Easter Sunday
20
+ regions: [au_nsw, au_vic]
21
+ function: easter(year)
22
+ - name: Easter Sunday
23
+ regions: [au_qld, au_act]
24
+ function: easter(year)
25
+ year_ranges:
26
+ from: 2017
27
+ - name: Easter Monday
28
+ regions: [au]
29
+ function: easter(year)
30
+ function_modifier: 1
31
+ 1:
32
+ - name: New Year's Day
33
+ regions: [au, au_nsw, au_vic, au_act, au_sa, au_wa, au_nt, au_qld]
34
+ mday: 1
35
+ observed: to_monday_if_weekend(date)
36
+ - name: New Year's Day
37
+ regions: [au_tas]
38
+ mday: 1
39
+ function: to_monday_if_weekend(date)
40
+ - name: Australia Day
41
+ regions: [au]
42
+ mday: 26
43
+ observed: to_monday_if_weekend(date)
44
+ 2:
45
+ - name: Royal Hobart Regatta
46
+ regions: [au_tas_south]
47
+ week: 2
48
+ wday: 1
49
+ 3:
50
+ - name: Labour Day
51
+ regions: [au_wa]
52
+ week: 1
53
+ wday: 1
54
+ - name: Eight Hours Day
55
+ regions: [au_tas]
56
+ week: 2
57
+ wday: 1
58
+ - name: Labour Day
59
+ regions: [au_vic]
60
+ week: 2
61
+ wday: 1
62
+ - name: March Public Holiday
63
+ regions: [au_sa]
64
+ function: march_pub_hol_sa(year)
65
+ - name: Canberra Day
66
+ regions: [au_act]
67
+ week: 2
68
+ wday: 1
69
+ 4:
70
+ - name: ANZAC Day
71
+ regions: [au]
72
+ mday: 25
73
+ - name: ANZAC Day
74
+ regions: [au_nsw, au_qld, au_nt, au_act, au_sa, au_tas]
75
+ mday: 25
76
+ observed: to_monday_if_sunday(date)
77
+ - name: ANZAC Day
78
+ regions: [au_vic]
79
+ mday: 25
80
+ - name: ANZAC Day
81
+ regions: [au_wa]
82
+ mday: 25
83
+ observed: to_monday_if_weekend(date)
84
+ 5:
85
+ - name: Labour Day
86
+ regions: [au_qld]
87
+ function: qld_labour_day_may(year)
88
+ - name: May Day
89
+ regions: [au_nt]
90
+ week: 1
91
+ wday: 1
92
+ - name: May Public Holiday
93
+ regions: [au_sa]
94
+ function: may_pub_hol_sa(year)
95
+ - name: Reconciliation Day
96
+ mday: 27
97
+ regions: [au_act]
98
+ function: to_nearest_monday_after(date)
99
+ year_ranges:
100
+ from: 2018
101
+ 6:
102
+ - name: Western Australia Day
103
+ regions: [au_wa]
104
+ week: 1
105
+ wday: 1
106
+ - name: Queen's Birthday
107
+ regions: [au_act, au_nsw, au_sa, au_tas, au_nt, au_vic]
108
+ week: 2
109
+ wday: 1
110
+ year_ranges:
111
+ until: 2022
112
+ - name: King's Birthday
113
+ regions: [au_act, au_nsw, au_sa, au_tas, au_nt, au_vic]
114
+ week: 2
115
+ wday: 1
116
+ year_ranges:
117
+ from: 2023
118
+ - name: Queen's Birthday
119
+ regions: [au_qld]
120
+ function: qld_queens_birthday_june(year)
121
+ - name: Queensland Day
122
+ regions: [au_qld]
123
+ mday: 6
124
+ type: informal
125
+ 7:
126
+ - name: Cairns Show
127
+ regions: [au_qld_cairns]
128
+ week: 3
129
+ wday: 5
130
+ 8:
131
+ - name: Ekka
132
+ regions: [au_qld_brisbane]
133
+ function: qld_brisbane_ekka_holiday(year)
134
+ 9:
135
+ - name: National Day of Mourning for Her Majesty Queen Elizabeth II
136
+ regions: [au]
137
+ mday: 22
138
+ year_ranges:
139
+ limited: [2022]
140
+ - name: Queen's Birthday
141
+ regions: [au_wa]
142
+ week: -1
143
+ wday: 1
144
+ year_ranges:
145
+ until: 2021
146
+ - name: King's Birthday
147
+ regions: [au_wa]
148
+ week: -1
149
+ wday: 1
150
+ year_ranges:
151
+ from: 2022
152
+ - name: "Family & Community Day"
153
+ regions: [au_act]
154
+ week: -1
155
+ wday: 1
156
+ year_ranges:
157
+ until: 2017
158
+ 10:
159
+ - name: Friday before the AFL Grand Final
160
+ regions: [au_vic]
161
+ function: afl_grand_final(year)
162
+ - name: Labour Day
163
+ regions: [au_act, au_nsw, au_sa]
164
+ week: 1
165
+ wday: 1
166
+ - name: Labour Day
167
+ regions: [au_qld]
168
+ function: qld_labour_day_october(year)
169
+ observed: to_monday_if_weekend(date)
170
+ - name: Queen's Birthday
171
+ regions: [au_qld]
172
+ function: qld_queens_bday_october(year)
173
+ observed: to_monday_if_weekend(date)
174
+ year_ranges:
175
+ until: 2022
176
+ - name: King's Birthday
177
+ regions: [au_qld]
178
+ function: qld_kings_bday_october(year)
179
+ observed: to_monday_if_weekend(date)
180
+ year_ranges:
181
+ from: 2023
182
+ - name: Royal Hobart Show
183
+ regions: [au_tas_south]
184
+ function: hobart_show_day(year)
185
+ 11:
186
+ - name: G20 Day
187
+ regions: [au_qld_brisbane]
188
+ function: g20_day_2014_only(year)
189
+ - name: Recreation Day # http://www.timeanddate.com/holidays/australia/recreation-day
190
+ regions: [au_tas_north]
191
+ wday: 1
192
+ week: 1
193
+ - name: Melbourne Cup Day
194
+ regions: [au_vic_melbourne]
195
+ week: 1
196
+ wday: 2
197
+ 12:
198
+ - name: Christmas Day # CHRISTMAS DAY - All states except SA observe on 27th (and 25th) if 25th is a Sunday
199
+ regions: [au_qld, au_nsw, au_act, au_tas, au_wa, au_vic, au_nt]
200
+ mday: 25
201
+ observed: to_tuesday_if_sunday_or_monday_if_saturday(date)
202
+ - name: Boxing Day
203
+ regions: [au_nsw, au_vic, au_qld, au_act, au_wa]
204
+ mday: 26
205
+ observed: to_tuesday_if_sunday_or_monday_if_saturday(date)
206
+ - name: Boxing Day
207
+ regions: [au_tas, au_nt]
208
+ function: to_weekday_if_boxing_weekend_from_year(year)
209
+ - name: Proclamation Day
210
+ regions: [au_sa]
211
+ function: to_weekday_if_boxing_weekend_from_year_or_to_tuesday_if_monday(year)
212
+ - name: Christmas Day # CHRISTMAS DAY - SA observes on 26th if 25th is a Sunday (Boxing Day goes to 27th)
213
+ regions: [au_sa]
214
+ mday: 25
215
+ observed: to_monday_if_weekend(date)
216
+
217
+ methods:
218
+ afl_grand_final:
219
+ arguments: year
220
+ ruby: |
221
+ case year
222
+ when 2015
223
+ Date.civil(2015, 10, 2)
224
+ when 2016
225
+ Date.civil(2016, 9, 30)
226
+ when 2017
227
+ Date.civil(2017, 9, 29)
228
+ when 2018
229
+ Date.civil(2018, 9, 28)
230
+ when 2019
231
+ Date.civil(2019,9, 27)
232
+ when 2020
233
+ Date.civil(2020, 10, 23)
234
+ end
235
+ qld_queens_bday_october:
236
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
237
+ # celebrated twice in 2012
238
+ # in october again from 2016
239
+ arguments: year
240
+ ruby: |
241
+ if year >= 2016
242
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 1, 1)
243
+ elsif year == 2012
244
+ 1
245
+ else
246
+ nil
247
+ end
248
+ qld_kings_bday_october:
249
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
250
+ # celebrated twice in 2012
251
+ # in october again from 2016
252
+ arguments: year
253
+ ruby: |
254
+ if year >= 2023
255
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 1, 1)
256
+ else
257
+ nil
258
+ end
259
+ qld_queens_birthday_june:
260
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
261
+ # in june until 2015
262
+ arguments: year
263
+ ruby: |
264
+ if year <= 2015
265
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 6, 2, 1)
266
+ end
267
+ qld_labour_day_may:
268
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
269
+ # for 2013 to 2016 it was in October, otherwise it's in May
270
+ arguments: year
271
+ ruby: |
272
+ if year < 2013 || year >= 2016
273
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 5, 1, 1)
274
+ end
275
+ qld_labour_day_october:
276
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
277
+ # for 2013 to 2016 it was in October, otherwise it's in May
278
+ arguments: year
279
+ ruby: |
280
+ if year >= 2013 && year < 2016
281
+ Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 1, 1)
282
+ end
283
+ g20_day_2014_only:
284
+ # http://www.justice.qld.gov.au/fair-and-safe-work/industrial-relations/public-holidays/dates
285
+ # G20 day in brisbane, in 2014, on november 14
286
+ arguments: year
287
+ ruby: |
288
+ year == 2014 ? 14 : nil
289
+ hobart_show_day:
290
+ # http://worksafe.tas.gov.au/__data/assets/pdf_file/0008/287036/Public_Holidays_2014.pdf
291
+ # The Thursday before the fourth Saturday in October.
292
+ arguments: year
293
+ ruby: |
294
+ fourth_sat_in_oct = Date.civil(year, 10, Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 10, 4, :saturday))
295
+ fourth_sat_in_oct - 2 # the thursday before
296
+ march_pub_hol_sa:
297
+ # http://www.safework.sa.gov.au/show_page.jsp?id=2483#.VQ9Mfmb8-8E
298
+ # The Holidays Act 1910 provides for the third Monday in May to be a public holiday. Since 2006 this public holiday has been observed on the second Monday in March through the issuing of a special Proclamation by the Governor.
299
+ arguments: year
300
+ ruby: |
301
+ if year < 2006
302
+ nil
303
+ else
304
+ Date.civil(year, 3, Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 3, :second, :monday))
305
+ end
306
+ may_pub_hol_sa:
307
+ # http://www.safework.sa.gov.au/show_page.jsp?id=2483#.VQ9Mfmb8-8E
308
+ # The Holidays Act 1910 provides for the third Monday in May to be a public holiday. Since 2006 this public holiday has been observed on the second Monday in March through the issuing of a special Proclamation by the Governor.
309
+ arguments: year
310
+ ruby: |
311
+ if year >= 2006
312
+ nil
313
+ else
314
+ Date.civil(year, 5, Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 5, :third, :monday))
315
+ end
316
+ qld_brisbane_ekka_holiday:
317
+ # https://www.qld.gov.au/recreation/travel/holidays/public
318
+ # The Ekka holiday occurs on the Wednesday during the RNA Show perido, the RNA show occurs on the first Friday of August, unless that's prior to August 5, then it occurs on the second.
319
+ arguments: year
320
+ ruby: |
321
+ first_friday = Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 8, :first, :friday)
322
+
323
+ if first_friday < 5
324
+ second_friday = Date.civil(year, 8, Holidays::Factory::DateCalculator.day_of_month_calculator.call(year, 8, :second, :friday))
325
+ second_friday + 5 # The next Wednesday
326
+ else
327
+ Date.civil(year, 8, first_friday) + 5
328
+ end
329
+ to_nearest_monday_after:
330
+ arguments: date
331
+ ruby: |
332
+ case date.wday
333
+ when 6
334
+ date += 2
335
+ when 5
336
+ date += 3
337
+ when 4
338
+ date += 4
339
+ when 3
340
+ date += 5
341
+ when 2
342
+ date += 6
343
+ when 0
344
+ date += 1
345
+ end
346
+ date
347
+
348
+ tests:
349
+ - given:
350
+ date: "2017-04-14"
351
+ regions: ["au"]
352
+ expect:
353
+ name: "Good Friday"
354
+ - given:
355
+ date: "2017-04-15"
356
+ regions: ["au_nsw"]
357
+ expect:
358
+ name: "Easter Saturday"
359
+ - given:
360
+ date: ['2010-4-4', "2017-04-16"]
361
+ regions: ["au_nsw"]
362
+ expect:
363
+ name: "Easter Sunday"
364
+ - given:
365
+ date: '2013-10-07'
366
+ regions: ["au_qld"]
367
+ expect:
368
+ name: 'Labour Day'
369
+ - given:
370
+ date: '2012-05-07'
371
+ regions: ["au_qld"]
372
+ expect:
373
+ name: 'Labour Day'
374
+ - given:
375
+ date: '2015-10-05'
376
+ regions: ["au_qld"]
377
+ expect:
378
+ name: 'Labour Day'
379
+ - given:
380
+ date: '2016-05-02'
381
+ regions: ["au_qld"]
382
+ expect:
383
+ name: 'Labour Day'
384
+ - given:
385
+ date: ['2012-06-11', '2012-10-01', '2013-6-10', '2015-6-8', '2016-10-3', '2022-10-03']
386
+ regions: ["au_qld"]
387
+ expect:
388
+ name: "Queen's Birthday"
389
+ - given:
390
+ date: ['2023-10-2']
391
+ regions: ["au_qld"]
392
+ expect:
393
+ name: "King's Birthday"
394
+ - given:
395
+ date: ['2022-06-13']
396
+ regions: ["au_act", "au_nsw", "au_sa", "au_tas", "au_nt", "au_vic"]
397
+ expect:
398
+ name: "Queen's Birthday"
399
+ - given:
400
+ date: ['2023-06-12']
401
+ regions: ["au_act", "au_nsw", "au_sa", "au_tas", "au_nt", "au_vic"]
402
+ expect:
403
+ name: "King's Birthday"
404
+ - given:
405
+ date: ['2014-09-29', '2015-09-28', '2016-09-26', '2021-09-27']
406
+ regions: ["au_wa"]
407
+ expect:
408
+ name: "Queen's Birthday"
409
+ - given:
410
+ date: ['2022-09-26', '2023-09-25']
411
+ regions: ["au_wa"]
412
+ expect:
413
+ name: "King's Birthday"
414
+ - given:
415
+ date: '2014-09-29'
416
+ regions: ["au_act"]
417
+ expect:
418
+ name: 'Family & Community Day'
419
+ - given:
420
+ date: '2015-09-28'
421
+ regions: ["au_act"]
422
+ expect:
423
+ name: 'Family & Community Day'
424
+ - given:
425
+ date: '2016-09-26'
426
+ regions: ["au_act"]
427
+ expect:
428
+ name: 'Family & Community Day'
429
+ - given:
430
+ date: '2014-01-26'
431
+ regions: ["au_qld"]
432
+ expect:
433
+ name: 'Australia Day'
434
+ - given:
435
+ date: '2014-01-27'
436
+ regions: ["au_qld"]
437
+ options: ["observed"]
438
+ expect:
439
+ name: 'Australia Day'
440
+ - given:
441
+ date: '2014-07-18'
442
+ regions: ["au_qld_cairns"]
443
+ expect:
444
+ name: 'Cairns Show'
445
+ - given:
446
+ date: '2013-07-19'
447
+ regions: ["au_qld_cairns"]
448
+ expect:
449
+ name: 'Cairns Show'
450
+ - given:
451
+ date: '2013-10-24'
452
+ regions: ["au_tas_south"]
453
+ expect:
454
+ name: 'Royal Hobart Show'
455
+ - given:
456
+ date: '2014-10-23'
457
+ regions: ["au_tas_south"]
458
+ expect:
459
+ name: 'Royal Hobart Show'
460
+ - given:
461
+ date: '2015-10-22'
462
+ regions: ["au_tas_south"]
463
+ expect:
464
+ name: 'Royal Hobart Show'
465
+ - given:
466
+ date: '2016-10-20'
467
+ regions: ["au_tas_south"]
468
+ expect:
469
+ name: 'Royal Hobart Show'
470
+ - given:
471
+ date: '2013-11-04'
472
+ regions: ["au_tas_north"]
473
+ expect:
474
+ name: 'Recreation Day'
475
+ - given:
476
+ date: '2014-11-03'
477
+ regions: ["au_tas_north"]
478
+ expect:
479
+ name: 'Recreation Day'
480
+ - given:
481
+ date: '2015-11-02'
482
+ regions: ["au_tas_north"]
483
+ expect:
484
+ name: 'Recreation Day'
485
+ - given:
486
+ date: '2016-11-07'
487
+ regions: ["au_tas_north"]
488
+ expect:
489
+ name: 'Recreation Day'
490
+ - given:
491
+ date: '2015-12-26'
492
+ regions: ["au_tas"]
493
+ expect:
494
+ holiday: false
495
+ - given:
496
+ date: '2015-11-14'
497
+ regions: ["au_qld_brisbane"]
498
+ expect:
499
+ holiday: false
500
+ - given:
501
+ date: '2015-12-26'
502
+ regions: ["au_nt"]
503
+ expect:
504
+ holiday: false
505
+ - given:
506
+ date: '2016-12-27'
507
+ regions: ["au_sa"]
508
+ expect:
509
+ name: 'Proclamation Day'
510
+ - given:
511
+ date: '2016-12-25'
512
+ regions: ["au_nt"]
513
+ expect:
514
+ name: 'Christmas Day'
515
+ - given:
516
+ date: '2014-11-04'
517
+ regions: ["au_vic"]
518
+ expect:
519
+ holiday: false
520
+ - given:
521
+ date: '2015-11-03'
522
+ regions: ["au_vic"]
523
+ expect:
524
+ holiday: false
525
+ - given:
526
+ date: '2016-12-25'
527
+ regions: ["au_vic"]
528
+ expect:
529
+ name: 'Christmas Day'
530
+ - given:
531
+ date: '2014-05-19'
532
+ regions: ["au_sa"]
533
+ expect:
534
+ holiday: false
535
+ - given:
536
+ date: '2005-03-14'
537
+ regions: ["au_sa"]
538
+ expect:
539
+ holiday: false
540
+ - given:
541
+ date: '2015-12-26'
542
+ regions: ["au_sa"]
543
+ expect:
544
+ holiday: false
545
+ - given:
546
+ date: '2015-04-27'
547
+ regions: ["au_qld"]
548
+ options: ["observed"]
549
+ expect:
550
+ holiday: false
551
+ - given:
552
+ date: '2014-11-14'
553
+ regions: ["au_qld"]
554
+ expect:
555
+ holiday: false
556
+ - given:
557
+ date: '2014-11-04'
558
+ regions: ["au_vic_melbourne"]
559
+ expect:
560
+ name: 'Melbourne Cup Day'
561
+ - given:
562
+ date: '2015-11-03'
563
+ regions: ["au_vic_melbourne"]
564
+ expect:
565
+ name: 'Melbourne Cup Day'
566
+ - given:
567
+ date: '2015-10-02'
568
+ regions: ["au_vic"]
569
+ expect:
570
+ name: 'Friday before the AFL Grand Final'
571
+ - given:
572
+ date: '2016-09-30'
573
+ regions: ["au_vic"]
574
+ expect:
575
+ name: 'Friday before the AFL Grand Final'
576
+ - given:
577
+ date: '2017-09-29'
578
+ regions: ["au_vic"]
579
+ expect:
580
+ name: 'Friday before the AFL Grand Final'
581
+ - given:
582
+ date: '2005-05-16'
583
+ regions: ["au_sa"]
584
+ expect:
585
+ name: 'May Public Holiday'
586
+ - given:
587
+ date: '2014-03-10'
588
+ regions: ["au_sa"]
589
+ expect:
590
+ name: 'March Public Holiday'
591
+ - given:
592
+ date: '2015-03-09'
593
+ regions: ["au_sa"]
594
+ expect:
595
+ name: 'March Public Holiday'
596
+ - given:
597
+ date: '2016-03-14'
598
+ regions: ["au_sa"]
599
+ expect:
600
+ name: 'March Public Holiday'
601
+ - given:
602
+ date: '2017-03-13'
603
+ regions: ["au_sa"]
604
+ expect:
605
+ name: 'March Public Holiday'
606
+ - given:
607
+ date: '2015-04-25'
608
+ regions: ["au_qld", "au_wa"]
609
+ expect:
610
+ name: 'ANZAC Day'
611
+ - given:
612
+ date: '2015-04-27'
613
+ regions: ["au_wa"]
614
+ options: ["observed"]
615
+ expect:
616
+ name: 'ANZAC Day'
617
+ - given:
618
+ date: '2015-12-26'
619
+ regions: ["au_qld"]
620
+ expect:
621
+ name: "Boxing Day"
622
+ - given:
623
+ date: '2015-12-28'
624
+ regions: ["au_qld"]
625
+ options: ["observed"]
626
+ expect:
627
+ name: "Boxing Day"
628
+ - given:
629
+ date: '2015-12-26'
630
+ regions: ["au_sa"]
631
+ expect:
632
+ holiday: false
633
+ - given:
634
+ date: '2015-12-28'
635
+ regions: ["au_sa"]
636
+ expect:
637
+ name: "Proclamation Day"
638
+ - given:
639
+ date: '2015-12-26'
640
+ regions: ["au_tas"]
641
+ expect:
642
+ holiday: false
643
+ - given:
644
+ date: '2015-12-28'
645
+ regions: ["au_tas"]
646
+ expect:
647
+ name: "Boxing Day"
648
+ - given:
649
+ date: '2015-12-26'
650
+ regions: ["au_nt"]
651
+ expect:
652
+ holiday: false
653
+ - given:
654
+ date: '2015-12-28'
655
+ regions: ["au_nt"]
656
+ expect:
657
+ name: "Boxing Day"
658
+ - given:
659
+ date: '2012-02-13'
660
+ regions: ["au_tas_south"]
661
+ expect:
662
+ name: 'Royal Hobart Regatta'
663
+ - given:
664
+ date: '2014-02-10'
665
+ regions: ["au_tas_south"]
666
+ expect:
667
+ name: 'Royal Hobart Regatta'
668
+ - given:
669
+ date: '2015-02-09'
670
+ regions: ["au_tas_south"]
671
+ expect:
672
+ name: 'Royal Hobart Regatta'
673
+ - given:
674
+ date: '2016-02-08'
675
+ regions: ["au_tas_south"]
676
+ expect:
677
+ name: 'Royal Hobart Regatta'
678
+
679
+ - given:
680
+ date: '2016-12-25'
681
+ regions: ["au_qld"]
682
+ expect:
683
+ name: 'Christmas Day'
684
+ - given:
685
+ date: '2016-12-27'
686
+ regions: ["au_qld"]
687
+ options: ["observed"]
688
+ expect:
689
+ name: 'Christmas Day'
690
+ - given:
691
+ date: '2016-12-25'
692
+ regions: ["au_nsw"]
693
+ expect:
694
+ name: 'Christmas Day'
695
+ - given:
696
+ date: '2016-12-27'
697
+ regions: ["au_nsw"]
698
+ options: ["observed"]
699
+ expect:
700
+ name: 'Christmas Day'
701
+ - given:
702
+ date: '2016-12-25'
703
+ regions: ["au_act"]
704
+ expect:
705
+ name: 'Christmas Day'
706
+ - given:
707
+ date: '2016-12-27'
708
+ regions: ["au_act"]
709
+ options: ["observed"]
710
+ expect:
711
+ name: 'Christmas Day'
712
+ - given:
713
+ date: '2016-12-25'
714
+ regions: ["au_tas"]
715
+ expect:
716
+ name: 'Christmas Day'
717
+ - given:
718
+ date: '2016-12-27'
719
+ regions: ["au_tas"]
720
+ options: ["observed"]
721
+ expect:
722
+ name: 'Christmas Day'
723
+ - given:
724
+ date: '2016-12-25'
725
+ regions: ["au_wa"]
726
+ expect:
727
+ name: 'Christmas Day'
728
+ - given:
729
+ date: '2016-12-27'
730
+ regions: ["au_wa"]
731
+ options: ["observed"]
732
+ expect:
733
+ name: 'Christmas Day'
734
+ - given:
735
+ date: '2016-12-25'
736
+ regions: ["au_sa"]
737
+ expect:
738
+ name: 'Christmas Day'
739
+ - given:
740
+ date: '2016-12-26'
741
+ regions: ["au_sa"]
742
+ options: ["observed"]
743
+ expect:
744
+ name: 'Christmas Day'
745
+ - given:
746
+ date: '2016-12-25'
747
+ regions: ["au_nsw"]
748
+ expect:
749
+ name: 'Christmas Day'
750
+ - given:
751
+ date: '2016-12-27'
752
+ regions: ["au_nsw"]
753
+ options: ["observed"]
754
+ expect:
755
+ name: 'Christmas Day'
756
+ - given:
757
+ date: '2016-12-25'
758
+ regions: ["au_act"]
759
+ expect:
760
+ name: 'Christmas Day'
761
+ - given:
762
+ date: '2016-12-27'
763
+ regions: ["au_act"]
764
+ options: ["observed"]
765
+ expect:
766
+ name: 'Christmas Day'
767
+ - given:
768
+ date: '2016-12-25'
769
+ regions: ["au_tas"]
770
+ expect:
771
+ name: 'Christmas Day'
772
+ - given:
773
+ date: '2016-12-27'
774
+ regions: ["au_tas"]
775
+ options: ["observed"]
776
+ expect:
777
+ name: 'Christmas Day'
778
+ - given:
779
+ date: '2016-12-25'
780
+ regions: ["au_wa"]
781
+ expect:
782
+ name: 'Christmas Day'
783
+ - given:
784
+ date: '2016-12-27'
785
+ regions: ["au_wa"]
786
+ options: ["observed"]
787
+ expect:
788
+ name: 'Christmas Day'
789
+ - given:
790
+ date: '2016-12-25'
791
+ regions: ["au_sa"]
792
+ expect:
793
+ name: 'Christmas Day'
794
+ - given:
795
+ date: '2016-12-26'
796
+ regions: ["au_sa"]
797
+ options: ["observed"]
798
+ expect:
799
+ name: 'Christmas Day'
800
+ - given:
801
+ date: '2016-12-27'
802
+ regions: ["au_vic"]
803
+ options: ["observed"]
804
+ expect:
805
+ name: 'Christmas Day'
806
+ - given:
807
+ date: '2016-12-27'
808
+ regions: ["au_nt"]
809
+ options: ["observed"]
810
+ expect:
811
+ name: 'Christmas Day'
812
+ - given:
813
+ date: '2017-01-01'
814
+ regions: ["au", "au_qld", "au_nsw", "au_act", "au_vic", "au_sa", "au_wa", "au_nt"]
815
+ expect:
816
+ name: "New Year's Day"
817
+
818
+ #FIXME This commented test is valid but the current code in the ruby repo won't allow it
819
+ # to work. We need to discuss potential solutions but in the meantime I'm taking it out.
820
+ # See https://github.com/holidays/definitions/issues/37.
821
+ # - given:
822
+ # date: '2017-01-01'
823
+ # regions: ["au_tas"]
824
+ # expect:
825
+ # holiday: false
826
+
827
+ - given:
828
+ date: '2017-01-02'
829
+ regions: ["au", "au_qld", "au_nsw", "au_act", "au_vic", "au_sa", "au_wa", "au_nt"]
830
+ options: ["observed"]
831
+ expect:
832
+ name: "New Year's Day"
833
+ - given:
834
+ date: '2017-01-02'
835
+ regions: ["au_tas"]
836
+ expect:
837
+ name: "New Year's Day"
838
+ - given:
839
+ date: '2016-03-27'
840
+ regions: ["au_qld"]
841
+ expect:
842
+ holiday: false
843
+ - given:
844
+ date: '2017-04-16'
845
+ regions: ["au_qld"]
846
+ expect:
847
+ name: "Easter Sunday"
848
+ - given:
849
+ date: "2014-11-14"
850
+ regions: ["au_qld_brisbane"]
851
+ expect:
852
+ name: "G20 Day"
853
+ - given:
854
+ date: '2021-04-26'
855
+ regions: ["au_vic"]
856
+ expect:
857
+ holiday: false
858
+ - given:
859
+ date: '2019-08-14'
860
+ regions: ["au_qld_brisbane"]
861
+ expect:
862
+ name: "Ekka"
863
+ - given:
864
+ date: '2022-08-10'
865
+ regions: ["au_qld_brisbane"]
866
+ expect:
867
+ name: "Ekka"
868
+ - given:
869
+ date: '2023-08-16'
870
+ regions: ["au_qld_brisbane"]
871
+ expect:
872
+ name: "Ekka"
873
+ - given:
874
+ date: '2024-08-14'
875
+ regions: ["au_qld_brisbane"]
876
+ expect:
877
+ name: "Ekka"
878
+ - given:
879
+ date: '2025-08-13'
880
+ regions: ["au_qld_brisbane"]
881
+ expect:
882
+ name: "Ekka"
883
+ - given:
884
+ date: '2022-09-22'
885
+ regions: ['au']
886
+ expect:
887
+ name: "National Day of Mourning for Her Majesty Queen Elizabeth II"
888
+ - given:
889
+ date: '2023-09-22'
890
+ regions: ['au']
891
+ expect:
892
+ holiday: false
893
+ - given:
894
+ date: '2021-09-22'
895
+ regions: ['au']
896
+ expect:
897
+ holiday: false
898
+ - given:
899
+ date: '2024-05-27'
900
+ regions: ['au_act']
901
+ expect:
902
+ name: "Reconciliation Day"
903
+ - given:
904
+ date: '2025-06-02'
905
+ regions: ['au_act']
906
+ expect:
907
+ name: "Reconciliation Day"