holidays 9.2.0 → 10.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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +38 -2
  4. data/lib/generated_definitions/au.rb +16 -42
  5. data/lib/generated_definitions/europe.rb +2 -10
  6. data/lib/generated_definitions/lu.rb +1 -1
  7. data/lib/generated_definitions/nz.rb +9 -1
  8. data/lib/generated_definitions/pl.rb +3 -11
  9. data/lib/holidays/definition/context/function_processor.rb +4 -5
  10. data/lib/holidays/definition/context/generator.rb +3 -1
  11. data/lib/holidays/version.rb +1 -1
  12. metadata +3 -313
  13. data/.github/workflows/changelog-check.yml +0 -47
  14. data/.github/workflows/release.yml +0 -46
  15. data/.github/workflows/ruby.yml +0 -26
  16. data/.gitmodules +0 -3
  17. data/CODE_OF_CONDUCT.md +0 -74
  18. data/Gemfile +0 -8
  19. data/Makefile +0 -60
  20. data/Rakefile +0 -137
  21. data/bin/console +0 -7
  22. data/bin/setup +0 -6
  23. data/doc/CONTRIBUTING.md +0 -72
  24. data/doc/MAINTAINERS.md +0 -79
  25. data/doc/REFERENCES +0 -19
  26. data/holidays.gemspec +0 -31
  27. data/test/coverage_report.rb +0 -24
  28. data/test/data/test_custom_year_range_holiday_defs.yaml +0 -31
  29. data/test/data/test_date_transform_conflict_region_1.yaml +0 -14
  30. data/test/data/test_date_transform_conflict_region_2.yaml +0 -14
  31. data/test/data/test_invalid_region.rb +0 -15
  32. data/test/data/test_region.rb +0 -15
  33. data/test/data/test_single_custom_holiday_defs.yaml +0 -12
  34. data/test/data/test_single_custom_holiday_with_custom_procs.yaml +0 -28
  35. data/test/defs/test_defs_ar.rb +0 -69
  36. data/test/defs/test_defs_at.rb +0 -31
  37. data/test/defs/test_defs_au.rb +0 -233
  38. data/test/defs/test_defs_be_fr.rb +0 -45
  39. data/test/defs/test_defs_be_nl.rb +0 -45
  40. data/test/defs/test_defs_bg.rb +0 -41
  41. data/test/defs/test_defs_br.rb +0 -49
  42. data/test/defs/test_defs_ca.rb +0 -289
  43. data/test/defs/test_defs_ch.rb +0 -51
  44. data/test/defs/test_defs_cl.rb +0 -69
  45. data/test/defs/test_defs_co.rb +0 -113
  46. data/test/defs/test_defs_cr.rb +0 -29
  47. data/test/defs/test_defs_cy.rb +0 -41
  48. data/test/defs/test_defs_cz.rb +0 -37
  49. data/test/defs/test_defs_de.rb +0 -91
  50. data/test/defs/test_defs_dk.rb +0 -47
  51. data/test/defs/test_defs_ecbtarget.rb +0 -27
  52. data/test/defs/test_defs_ee.rb +0 -41
  53. data/test/defs/test_defs_es.rb +0 -137
  54. data/test/defs/test_defs_europe.rb +0 -1530
  55. data/test/defs/test_defs_fed_ex.rb +0 -24
  56. data/test/defs/test_defs_federalreserve.rb +0 -119
  57. data/test/defs/test_defs_federalreservebanks.rb +0 -251
  58. data/test/defs/test_defs_fedex.rb +0 -31
  59. data/test/defs/test_defs_fi.rb +0 -59
  60. data/test/defs/test_defs_fr.rb +0 -43
  61. data/test/defs/test_defs_gb.rb +0 -163
  62. data/test/defs/test_defs_ge.rb +0 -53
  63. data/test/defs/test_defs_gr.rb +0 -41
  64. data/test/defs/test_defs_hk.rb +0 -93
  65. data/test/defs/test_defs_hr.rb +0 -45
  66. data/test/defs/test_defs_hu.rb +0 -47
  67. data/test/defs/test_defs_ie.rb +0 -53
  68. data/test/defs/test_defs_il.rb +0 -35
  69. data/test/defs/test_defs_in.rb +0 -94
  70. data/test/defs/test_defs_is.rb +0 -51
  71. data/test/defs/test_defs_it.rb +0 -57
  72. data/test/defs/test_defs_jp.rb +0 -159
  73. data/test/defs/test_defs_ke.rb +0 -31
  74. data/test/defs/test_defs_kr.rb +0 -37
  75. data/test/defs/test_defs_kz.rb +0 -39
  76. data/test/defs/test_defs_li.rb +0 -35
  77. data/test/defs/test_defs_lt.rb +0 -65
  78. data/test/defs/test_defs_lu.rb +0 -35
  79. data/test/defs/test_defs_lv.rb +0 -98
  80. data/test/defs/test_defs_ma.rb +0 -29
  81. data/test/defs/test_defs_mc.rb +0 -43
  82. data/test/defs/test_defs_mt_en.rb +0 -41
  83. data/test/defs/test_defs_mt_mt.rb +0 -41
  84. data/test/defs/test_defs_mx.rb +0 -49
  85. data/test/defs/test_defs_my.rb +0 -23
  86. data/test/defs/test_defs_nerc.rb +0 -29
  87. data/test/defs/test_defs_ng.rb +0 -29
  88. data/test/defs/test_defs_nl.rb +0 -33
  89. data/test/defs/test_defs_no.rb +0 -43
  90. data/test/defs/test_defs_northamerica.rb +0 -679
  91. data/test/defs/test_defs_nyse.rb +0 -46
  92. data/test/defs/test_defs_nz.rb +0 -67
  93. data/test/defs/test_defs_pe.rb +0 -47
  94. data/test/defs/test_defs_ph.rb +0 -29
  95. data/test/defs/test_defs_pl.rb +0 -229
  96. data/test/defs/test_defs_pt.rb +0 -47
  97. data/test/defs/test_defs_ro.rb +0 -69
  98. data/test/defs/test_defs_rs_cyrl.rb +0 -46
  99. data/test/defs/test_defs_rs_la.rb +0 -46
  100. data/test/defs/test_defs_ru.rb +0 -34
  101. data/test/defs/test_defs_scandinavia.rb +0 -215
  102. data/test/defs/test_defs_se.rb +0 -59
  103. data/test/defs/test_defs_sg.rb +0 -25
  104. data/test/defs/test_defs_si.rb +0 -105
  105. data/test/defs/test_defs_sk.rb +0 -37
  106. data/test/defs/test_defs_southamerica.rb +0 -327
  107. data/test/defs/test_defs_th.rb +0 -33
  108. data/test/defs/test_defs_tn.rb +0 -27
  109. data/test/defs/test_defs_tr.rb +0 -60
  110. data/test/defs/test_defs_tsx.rb +0 -70
  111. data/test/defs/test_defs_ua.rb +0 -41
  112. data/test/defs/test_defs_unitednations.rb +0 -11
  113. data/test/defs/test_defs_ups.rb +0 -31
  114. data/test/defs/test_defs_us.rb +0 -399
  115. data/test/defs/test_defs_ve.rb +0 -35
  116. data/test/defs/test_defs_vi.rb +0 -22
  117. data/test/defs/test_defs_za.rb +0 -35
  118. data/test/e2e/README.md +0 -52
  119. data/test/e2e/data/test_multiple_regions_with_conflicts_region_1.yaml +0 -38
  120. data/test/e2e/data/test_multiple_regions_with_conflicts_region_2.yaml +0 -38
  121. data/test/e2e/data/test_multiple_regions_with_conflicts_region_3.yaml +0 -38
  122. data/test/e2e/test_all_regions.rb +0 -49
  123. data/test/e2e/test_any_holidays_during_work_week.rb +0 -90
  124. data/test/e2e/test_holidays.rb +0 -244
  125. data/test/e2e/test_holidays_between.rb +0 -87
  126. data/test/e2e/test_multiple_regions.rb +0 -71
  127. data/test/e2e/test_multiple_regions_with_conflict.rb +0 -228
  128. data/test/e2e/test_nonstandard_regions.rb +0 -25
  129. data/test/holidays/core_extensions/test_date.rb +0 -122
  130. data/test/holidays/core_extensions/test_date_time.rb +0 -60
  131. data/test/holidays/date_calculator/test_day_of_month.rb +0 -27
  132. data/test/holidays/date_calculator/test_easter_gregorian.rb +0 -30
  133. data/test/holidays/date_calculator/test_easter_julian.rb +0 -36
  134. data/test/holidays/date_calculator/test_lunar_date.rb +0 -89
  135. data/test/holidays/date_calculator/test_weekend_modifier.rb +0 -54
  136. data/test/holidays/definition/context/test_function_processor.rb +0 -199
  137. data/test/holidays/definition/context/test_generator.rb +0 -226
  138. data/test/holidays/definition/context/test_load.rb +0 -37
  139. data/test/holidays/definition/context/test_merger.rb +0 -25
  140. data/test/holidays/definition/decorator/test_custom_method_proc.rb +0 -113
  141. data/test/holidays/definition/decorator/test_custom_method_source.rb +0 -96
  142. data/test/holidays/definition/decorator/test_test.rb +0 -123
  143. data/test/holidays/definition/generator/test_module.rb +0 -268
  144. data/test/holidays/definition/generator/test_regions.rb +0 -97
  145. data/test/holidays/definition/generator/test_test.rb +0 -113
  146. data/test/holidays/definition/parser/test_custom_method.rb +0 -79
  147. data/test/holidays/definition/parser/test_test.rb +0 -142
  148. data/test/holidays/definition/repository/test_cache.rb +0 -123
  149. data/test/holidays/definition/repository/test_custom_methods.rb +0 -43
  150. data/test/holidays/definition/repository/test_holidays_by_month.rb +0 -275
  151. data/test/holidays/definition/repository/test_proc_result_cache.rb +0 -91
  152. data/test/holidays/definition/repository/test_regions.rb +0 -104
  153. data/test/holidays/definition/validator/test_custom_method.rb +0 -94
  154. data/test/holidays/definition/validator/test_region.rb +0 -54
  155. data/test/holidays/definition/validator/test_test.rb +0 -60
  156. data/test/holidays/finder/context/test_between.rb +0 -172
  157. data/test/holidays/finder/context/test_dates_driver_builder.rb +0 -91
  158. data/test/holidays/finder/context/test_next_holiday.rb +0 -156
  159. data/test/holidays/finder/context/test_parse_options.rb +0 -141
  160. data/test/holidays/finder/context/test_search.rb +0 -290
  161. data/test/holidays/finder/context/test_year_holiday.rb +0 -202
  162. data/test/holidays/finder/rules/test_in_region.rb +0 -42
  163. data/test/holidays/finder/rules/test_year_range.rb +0 -166
  164. data/test/integration/README.md +0 -48
  165. data/test/integration/data/test_custom_govt_holiday_defs.yaml +0 -5
  166. data/test/integration/data/test_custom_informal_holidays_defs.yaml +0 -11
  167. data/test/integration/data/test_multiple_custom_holiday_defs.yaml +0 -12
  168. data/test/integration/test_custom_holidays.rb +0 -41
  169. data/test/integration/test_custom_informal_holidays.rb +0 -15
  170. data/test/integration/test_custom_year_range_holidays.rb +0 -35
  171. data/test/smoke/README.md +0 -31
  172. data/test/smoke/test_available_regions.rb +0 -18
  173. data/test/smoke/test_smoke.rb +0 -74
  174. data/test/test_helper.rb +0 -37
@@ -1,399 +0,0 @@
1
- # encoding: utf-8
2
- require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
3
-
4
- # This file is generated by the Ruby Holiday gem.
5
- #
6
- # Definitions loaded: definitions/us.yaml, definitions/northamericainformal.yaml
7
- class UsDefinitionTests < Test::Unit::TestCase # :nodoc:
8
-
9
- def test_us
10
- assert_equal "Shrove Tuesday", (Holidays.on(Date.civil(2017, 2, 28), [:us_fl])[0] || {})[:name]
11
- assert_equal "Shrove Tuesday", (Holidays.on(Date.civil(2018, 2, 13), [:us_fl])[0] || {})[:name]
12
- assert_equal "Shrove Tuesday", (Holidays.on(Date.civil(2019, 3, 5), [:us_fl])[0] || {})[:name]
13
-
14
- assert_equal "Mardi Gras Day", (Holidays.on(Date.civil(2017, 2, 28), [:us_al, :us_la])[0] || {})[:name]
15
- assert_equal "Mardi Gras Day", (Holidays.on(Date.civil(2018, 2, 13), [:us_al, :us_la])[0] || {})[:name]
16
- assert_equal "Mardi Gras Day", (Holidays.on(Date.civil(2019, 3, 5), [:us_al, :us_la])[0] || {})[:name]
17
-
18
- assert_nil (Holidays.on(Date.civil(2017, 2, 28), [:us])[0] || {})[:name]
19
- assert_nil (Holidays.on(Date.civil(2018, 2, 13), [:us])[0] || {})[:name]
20
- assert_nil (Holidays.on(Date.civil(2019, 3, 5), [:us])[0] || {})[:name]
21
-
22
- assert_equal "Good Friday", (Holidays.on(Date.civil(2017, 4, 14), [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn])[0] || {})[:name]
23
- assert_equal "Good Friday", (Holidays.on(Date.civil(2018, 3, 30), [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn])[0] || {})[:name]
24
- assert_equal "Good Friday", (Holidays.on(Date.civil(2019, 4, 19), [:us_ct, :us_de, :us_gu, :us_hi, :us_in, :us_ky, :us_la, :us_nj, :us_nc, :us_nd, :us_pa, :us_pr, :us_tn])[0] || {})[:name]
25
-
26
- assert_equal "Good Friday", (Holidays.on(Date.civil(2017, 4, 14), [:us], [:informal])[0] || {})[:name]
27
- assert_equal "Good Friday", (Holidays.on(Date.civil(2018, 3, 30), [:us], [:informal])[0] || {})[:name]
28
- assert_equal "Good Friday", (Holidays.on(Date.civil(2019, 4, 19), [:us], [:informal])[0] || {})[:name]
29
-
30
- assert_nil (Holidays.on(Date.civil(2017, 2, 28), [:us])[0] || {})[:name]
31
- assert_nil (Holidays.on(Date.civil(2018, 2, 13), [:us])[0] || {})[:name]
32
- assert_nil (Holidays.on(Date.civil(2019, 3, 5), [:us])[0] || {})[:name]
33
-
34
- assert_nil (Holidays.on(Date.civil(2017, 4, 16), [:us])[0] || {})[:name]
35
- assert_nil (Holidays.on(Date.civil(2018, 4, 1), [:us])[0] || {})[:name]
36
- assert_nil (Holidays.on(Date.civil(2019, 4, 21), [:us])[0] || {})[:name]
37
-
38
- assert_equal "Easter Sunday", (Holidays.on(Date.civil(2017, 4, 16), [:us], [:informal])[0] || {})[:name]
39
- assert_equal "Easter Sunday", (Holidays.on(Date.civil(2018, 4, 1), [:us], [:informal])[0] || {})[:name]
40
- assert_equal "Easter Sunday", (Holidays.on(Date.civil(2019, 4, 21), [:us], [:informal])[0] || {})[:name]
41
-
42
- assert_equal "New Year's Day", (Holidays.on(Date.civil(2017, 1, 1), [:us])[0] || {})[:name]
43
-
44
- assert_equal "New Year's Day", (Holidays.on(Date.civil(2017, 1, 2), [:us], [:observed])[0] || {})[:name]
45
-
46
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2017, 1, 16), [:us])[0] || {})[:name]
47
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2018, 1, 15), [:us])[0] || {})[:name]
48
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2019, 1, 21), [:us])[0] || {})[:name]
49
-
50
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2016, 1, 18), [:us])[0] || {})[:name]
51
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2017, 1, 16), [:us])[0] || {})[:name]
52
- assert_equal "Martin Luther King, Jr. Day", (Holidays.on(Date.civil(2018, 1, 15), [:us])[0] || {})[:name]
53
-
54
- assert_equal "Martin Luther King's and Robert E. Lee's Birthdays", (Holidays.on(Date.civil(2016, 1, 18), [:us_ms])[0] || {})[:name]
55
- assert_equal "Martin Luther King's and Robert E. Lee's Birthdays", (Holidays.on(Date.civil(2017, 1, 16), [:us_ms])[0] || {})[:name]
56
- assert_equal "Martin Luther King's and Robert E. Lee's Birthdays", (Holidays.on(Date.civil(2018, 1, 15), [:us_ms])[0] || {})[:name]
57
-
58
- assert_equal "Idaho Human Rights Day", (Holidays.on(Date.civil(2016, 1, 18), [:us_id])[0] || {})[:name]
59
- assert_equal "Idaho Human Rights Day", (Holidays.on(Date.civil(2017, 1, 16), [:us_id])[0] || {})[:name]
60
- assert_equal "Idaho Human Rights Day", (Holidays.on(Date.civil(2018, 1, 15), [:us_id])[0] || {})[:name]
61
-
62
- assert_equal "Civil Rights Day", (Holidays.on(Date.civil(2016, 1, 18), [:us_ar])[0] || {})[:name]
63
- assert_equal "Civil Rights Day", (Holidays.on(Date.civil(2017, 1, 16), [:us_ar])[0] || {})[:name]
64
- assert_equal "Civil Rights Day", (Holidays.on(Date.civil(2018, 1, 15), [:us_ar])[0] || {})[:name]
65
-
66
- assert_nil (Holidays.on(Date.civil(2017, 1, 20), [:us])[0] || {})[:name]
67
- assert_nil (Holidays.on(Date.civil(2021, 1, 20), [:us])[0] || {})[:name]
68
-
69
- assert_equal "Inauguration Day", (Holidays.on(Date.civil(2017, 1, 20), [:us_tx, :us_dc, :us_la, :us_md, :us_va])[0] || {})[:name]
70
- assert_equal "Inauguration Day", (Holidays.on(Date.civil(2021, 1, 20), [:us_tx, :us_dc, :us_la, :us_md, :us_va])[0] || {})[:name]
71
-
72
- assert_nil (Holidays.on(Date.civil(2017, 1, 13), [:us])[0] || {})[:name]
73
- assert_nil (Holidays.on(Date.civil(2018, 1, 12), [:us])[0] || {})[:name]
74
- assert_nil (Holidays.on(Date.civil(2019, 1, 18), [:us])[0] || {})[:name]
75
-
76
- assert_equal "Lee-Jackson Day", (Holidays.on(Date.civil(2017, 1, 13), [:us_va])[0] || {})[:name]
77
- assert_equal "Lee-Jackson Day", (Holidays.on(Date.civil(2018, 1, 12), [:us_va])[0] || {})[:name]
78
- assert_equal "Lee-Jackson Day", (Holidays.on(Date.civil(2019, 1, 18), [:us_va])[0] || {})[:name]
79
-
80
- assert_equal "Confederate Heroes Day", (Holidays.on(Date.civil(2017, 1, 19), [:us_tx])[0] || {})[:name]
81
-
82
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2008, 2, 18), [:us])[0] || {})[:name]
83
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2017, 2, 20), [:us])[0] || {})[:name]
84
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2018, 2, 19), [:us])[0] || {})[:name]
85
-
86
- assert_nil (Holidays.on(Date.civil(2017, 3, 6), [:us])[0] || {})[:name]
87
- assert_nil (Holidays.on(Date.civil(2018, 3, 5), [:us])[0] || {})[:name]
88
- assert_nil (Holidays.on(Date.civil(2019, 3, 4), [:us])[0] || {})[:name]
89
-
90
- assert_nil (Holidays.on(Date.civil(2017, 3, 7), [:us])[0] || {})[:name]
91
- assert_nil (Holidays.on(Date.civil(2018, 3, 6), [:us])[0] || {})[:name]
92
- assert_nil (Holidays.on(Date.civil(2019, 3, 5), [:us])[0] || {})[:name]
93
-
94
- assert_equal "Town Meeting Day", (Holidays.on(Date.civil(2017, 3, 7), [:us_vt])[0] || {})[:name]
95
- assert_equal "Town Meeting Day", (Holidays.on(Date.civil(2018, 3, 6), [:us_vt])[0] || {})[:name]
96
- assert_equal "Town Meeting Day", (Holidays.on(Date.civil(2019, 3, 5), [:us_vt])[0] || {})[:name]
97
-
98
- assert_equal "Texas Independence Day", (Holidays.on(Date.civil(2017, 3, 2), [:us_tx])[0] || {})[:name]
99
-
100
- assert_nil (Holidays.on(Date.civil(2017, 3, 27), [:us], [:observed])[0] || {})[:name]
101
- assert_nil (Holidays.on(Date.civil(2018, 3, 26), [:us], [:observed])[0] || {})[:name]
102
- assert_nil (Holidays.on(Date.civil(2022, 3, 25), [:us], [:observed])[0] || {})[:name]
103
-
104
- assert_equal "Prince Jonah Kuhio Kalanianaole Day", (Holidays.on(Date.civil(2017, 3, 27), [:us_hi], [:observed])[0] || {})[:name]
105
- assert_equal "Prince Jonah Kuhio Kalanianaole Day", (Holidays.on(Date.civil(2018, 3, 26), [:us_hi], [:observed])[0] || {})[:name]
106
- assert_equal "Prince Jonah Kuhio Kalanianaole Day", (Holidays.on(Date.civil(2022, 3, 25), [:us_hi], [:observed])[0] || {})[:name]
107
-
108
- assert_nil (Holidays.on(Date.civil(2017, 3, 26), [:us])[0] || {})[:name]
109
-
110
- assert_equal "Prince Jonah Kuhio Kalanianaole Day", (Holidays.on(Date.civil(2017, 3, 26), [:us_hi])[0] || {})[:name]
111
-
112
- assert_nil (Holidays.on(Date.civil(2017, 3, 27), [:us])[0] || {})[:name]
113
- assert_nil (Holidays.on(Date.civil(2018, 3, 26), [:us])[0] || {})[:name]
114
- assert_nil (Holidays.on(Date.civil(2019, 3, 25), [:us])[0] || {})[:name]
115
-
116
- assert_equal "Seward's Day", (Holidays.on(Date.civil(2017, 3, 27), [:us_ak])[0] || {})[:name]
117
- assert_equal "Seward's Day", (Holidays.on(Date.civil(2018, 3, 26), [:us_ak])[0] || {})[:name]
118
- assert_equal "Seward's Day", (Holidays.on(Date.civil(2019, 3, 25), [:us_ak])[0] || {})[:name]
119
-
120
- assert_equal "César Chávez Day", (Holidays.on(Date.civil(2017, 3, 31), [:us_ca])[0] || {})[:name]
121
-
122
- assert_equal "Emancipation Day", (Holidays.on(Date.civil(2023, 4, 17), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
123
- assert_equal "Emancipation Day", (Holidays.on(Date.civil(2022, 4, 15), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
124
- assert_equal "Emancipation Day", (Holidays.on(Date.civil(2028, 4, 17), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
125
-
126
- assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 4, 16), [:us_dc])[0] || {})[:name]
127
-
128
- assert_nil (Holidays.on(Date.civil(2017, 4, 17), [:us])[0] || {})[:name]
129
- assert_nil (Holidays.on(Date.civil(2018, 4, 16), [:us])[0] || {})[:name]
130
- assert_nil (Holidays.on(Date.civil(2019, 4, 15), [:us])[0] || {})[:name]
131
-
132
- assert_equal "Patriots' Day", (Holidays.on(Date.civil(2017, 4, 17), [:us_me, :us_ma])[0] || {})[:name]
133
- assert_equal "Patriots' Day", (Holidays.on(Date.civil(2018, 4, 16), [:us_me, :us_ma])[0] || {})[:name]
134
- assert_equal "Patriots' Day", (Holidays.on(Date.civil(2019, 4, 15), [:us_me, :us_ma])[0] || {})[:name]
135
-
136
- assert_equal "San Jacinto Day", (Holidays.on(Date.civil(2017, 4, 21), [:us_tx])[0] || {})[:name]
137
-
138
- assert_nil (Holidays.on(Date.civil(2017, 4, 24), [:us])[0] || {})[:name]
139
- assert_nil (Holidays.on(Date.civil(2018, 4, 30), [:us])[0] || {})[:name]
140
- assert_nil (Holidays.on(Date.civil(2019, 4, 29), [:us])[0] || {})[:name]
141
-
142
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2017, 4, 24), [:us_al, :us_ms])[0] || {})[:name]
143
-
144
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2018, 4, 23), [:us_al])[0] || {})[:name]
145
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2019, 4, 22), [:us_al])[0] || {})[:name]
146
-
147
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2018, 4, 30), [:us_ms])[0] || {})[:name]
148
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2019, 4, 29), [:us_ms])[0] || {})[:name]
149
-
150
- assert_nil (Holidays.on(Date.civil(2015, 4, 27), [:us])[0] || {})[:name]
151
- assert_nil (Holidays.on(Date.civil(2020, 4, 27), [:us])[0] || {})[:name]
152
- assert_nil (Holidays.on(Date.civil(2026, 4, 27), [:us])[0] || {})[:name]
153
-
154
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2015, 4, 27), [:us_fl], [:observed])[0] || {})[:name]
155
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2020, 4, 27), [:us_fl], [:observed])[0] || {})[:name]
156
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2026, 4, 27), [:us_fl], [:observed])[0] || {})[:name]
157
-
158
- assert_nil (Holidays.on(Date.civil(2017, 4, 26), [:us])[0] || {})[:name]
159
-
160
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2017, 4, 26), [:us_fl])[0] || {})[:name]
161
-
162
- assert_nil (Holidays.on(Date.civil(2015, 4, 20), [:us])[0] || {})[:name]
163
- assert_nil (Holidays.on(Date.civil(2021, 4, 26), [:us])[0] || {})[:name]
164
-
165
- assert_equal "State Holiday", (Holidays.on(Date.civil(2015, 4, 20), [:us_ga])[0] || {})[:name]
166
-
167
- assert_equal "State Holiday", (Holidays.on(Date.civil(2020, 4, 10), [:us_ga])[0] || {})[:name]
168
- assert_equal "State Holiday", (Holidays.on(Date.civil(2021, 4, 2), [:us_ga])[0] || {})[:name]
169
- assert_equal "State Holiday", (Holidays.on(Date.civil(2022, 4, 15), [:us_ga])[0] || {})[:name]
170
-
171
- assert_nil (Holidays.on(Date.civil(2021, 4, 26), [:us_ga])[0] || {})[:name]
172
-
173
- assert_equal "Arbor Day", (Holidays.on(Date.civil(2017, 4, 28), [:us_ne])[0] || {})[:name]
174
- assert_equal "Arbor Day", (Holidays.on(Date.civil(2025, 4, 25), [:us_ne])[0] || {})[:name]
175
-
176
- assert_equal "Truman Day", (Holidays.on(Date.civil(2017, 5, 8), [:us_mo])[0] || {})[:name]
177
-
178
- assert_equal "Confederate Memorial Day", (Holidays.on(Date.civil(2017, 5, 10), [:us_sc])[0] || {})[:name]
179
-
180
- assert_equal "Memorial Day", (Holidays.on(Date.civil(2017, 5, 29), [:us])[0] || {})[:name]
181
- assert_equal "Memorial Day", (Holidays.on(Date.civil(2018, 5, 28), [:us])[0] || {})[:name]
182
- assert_equal "Memorial Day", (Holidays.on(Date.civil(2019, 5, 27), [:us])[0] || {})[:name]
183
-
184
- assert_nil (Holidays.on(Date.civil(2017, 6, 5), [:us])[0] || {})[:name]
185
- assert_nil (Holidays.on(Date.civil(2018, 6, 4), [:us])[0] || {})[:name]
186
- assert_nil (Holidays.on(Date.civil(2019, 6, 3), [:us])[0] || {})[:name]
187
-
188
- assert_equal "Jefferson Davis' Birthday", (Holidays.on(Date.civil(2017, 6, 5), [:us_al])[0] || {})[:name]
189
- assert_equal "Jefferson Davis' Birthday", (Holidays.on(Date.civil(2018, 6, 4), [:us_al])[0] || {})[:name]
190
- assert_equal "Jefferson Davis' Birthday", (Holidays.on(Date.civil(2019, 6, 3), [:us_al])[0] || {})[:name]
191
-
192
- assert_equal "Birthday of Jefferson Davis", (Holidays.on(Date.civil(2017, 6, 3), [:us_fl])[0] || {})[:name]
193
-
194
- assert_nil (Holidays.on(Date.civil(2017, 6, 12), [:us])[0] || {})[:name]
195
- assert_nil (Holidays.on(Date.civil(2018, 6, 11), [:us])[0] || {})[:name]
196
- assert_nil (Holidays.on(Date.civil(2022, 6, 10), [:us])[0] || {})[:name]
197
-
198
- assert_equal "King Kamehameha I Day", (Holidays.on(Date.civil(2017, 6, 12), [:us_hi], [:observed])[0] || {})[:name]
199
- assert_equal "King Kamehameha I Day", (Holidays.on(Date.civil(2018, 6, 11), [:us_hi], [:observed])[0] || {})[:name]
200
- assert_equal "King Kamehameha I Day", (Holidays.on(Date.civil(2022, 6, 10), [:us_hi], [:observed])[0] || {})[:name]
201
-
202
- assert_nil (Holidays.on(Date.civil(2017, 6, 11), [:us])[0] || {})[:name]
203
-
204
- assert_equal "King Kamehameha I Day", (Holidays.on(Date.civil(2017, 6, 11), [:us_hi])[0] || {})[:name]
205
-
206
- assert_nil (Holidays.on(Date.civil(2021, 6, 19), [:us], [:observed])[0] || {})[:name]
207
-
208
- assert_equal "Juneteenth National Independence Day", (Holidays.on(Date.civil(2021, 6, 18), [:us], [:observed])[0] || {})[:name]
209
-
210
- assert_equal "Emancipation Day in Texas", (Holidays.on(Date.civil(2017, 6, 19), [:us_tx])[0] || {})[:name]
211
-
212
- assert_nil (Holidays.on(Date.civil(2017, 6, 20), [:us])[0] || {})[:name]
213
- assert_nil (Holidays.on(Date.civil(2020, 6, 19), [:us])[0] || {})[:name]
214
- assert_nil (Holidays.on(Date.civil(2021, 6, 21), [:us])[0] || {})[:name]
215
-
216
- assert_equal "West Virginia Day", (Holidays.on(Date.civil(2017, 6, 20), [:us_wv], [:observed])[0] || {})[:name]
217
- assert_equal "West Virginia Day", (Holidays.on(Date.civil(2020, 6, 19), [:us_wv], [:observed])[0] || {})[:name]
218
- assert_equal "West Virginia Day", (Holidays.on(Date.civil(2021, 6, 21), [:us_wv], [:observed])[0] || {})[:name]
219
-
220
- assert_equal "West Virginia Day", (Holidays.on(Date.civil(2017, 6, 20), [:us_wv])[0] || {})[:name]
221
-
222
- assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 7, 3), [:us_vi])[0] || {})[:name]
223
-
224
- assert_equal "Independence Day", (Holidays.on(Date.civil(2020, 7, 4), [:us, :us_va])[0] || {})[:name]
225
- assert_equal "Independence Day", (Holidays.on(Date.civil(2021, 7, 4), [:us, :us_va])[0] || {})[:name]
226
- assert_equal "Independence Day", (Holidays.on(Date.civil(2026, 7, 4), [:us, :us_va])[0] || {})[:name]
227
-
228
- assert_nil (Holidays.on(Date.civil(2020, 7, 3), [:us])[0] || {})[:name]
229
- assert_nil (Holidays.on(Date.civil(2021, 7, 5), [:us])[0] || {})[:name]
230
- assert_nil (Holidays.on(Date.civil(2026, 7, 3), [:us])[0] || {})[:name]
231
-
232
- assert_equal "Independence Day (Holiday)", (Holidays.on(Date.civil(2020, 7, 3), [:us_va])[0] || {})[:name]
233
- assert_equal "Independence Day (Holiday)", (Holidays.on(Date.civil(2021, 7, 5), [:us_va])[0] || {})[:name]
234
- assert_equal "Independence Day (Holiday)", (Holidays.on(Date.civil(2026, 7, 3), [:us_va])[0] || {})[:name]
235
-
236
- assert_equal "Pioneer Day", (Holidays.on(Date.civil(2020, 7, 24), [:us_ut])[0] || {})[:name]
237
-
238
- assert_nil (Holidays.on(Date.civil(2017, 8, 14), [:us])[0] || {})[:name]
239
- assert_nil (Holidays.on(Date.civil(2020, 8, 10), [:us])[0] || {})[:name]
240
- assert_nil (Holidays.on(Date.civil(2021, 8, 9), [:us])[0] || {})[:name]
241
-
242
- assert_equal "Victory Day", (Holidays.on(Date.civil(2017, 8, 14), [:us_ri])[0] || {})[:name]
243
- assert_equal "Victory Day", (Holidays.on(Date.civil(2020, 8, 10), [:us_ri])[0] || {})[:name]
244
- assert_equal "Victory Day", (Holidays.on(Date.civil(2021, 8, 9), [:us_ri])[0] || {})[:name]
245
-
246
- assert_nil (Holidays.on(Date.civil(2017, 8, 16), [:us])[0] || {})[:name]
247
- assert_nil (Holidays.on(Date.civil(2020, 8, 17), [:us])[0] || {})[:name]
248
- assert_nil (Holidays.on(Date.civil(2025, 8, 15), [:us])[0] || {})[:name]
249
-
250
- assert_equal "Bennington Battle Day", (Holidays.on(Date.civil(2017, 8, 16), [:us_vt], [:observed])[0] || {})[:name]
251
- assert_equal "Bennington Battle Day", (Holidays.on(Date.civil(2020, 8, 17), [:us_vt], [:observed])[0] || {})[:name]
252
- assert_equal "Bennington Battle Day", (Holidays.on(Date.civil(2025, 8, 15), [:us_vt], [:observed])[0] || {})[:name]
253
-
254
- assert_equal "Bennington Battle Day", (Holidays.on(Date.civil(2017, 8, 16), [:us_vt])[0] || {})[:name]
255
-
256
- assert_nil (Holidays.on(Date.civil(2017, 8, 18), [:us])[0] || {})[:name]
257
- assert_nil (Holidays.on(Date.civil(2020, 8, 21), [:us])[0] || {})[:name]
258
- assert_nil (Holidays.on(Date.civil(2025, 8, 15), [:us])[0] || {})[:name]
259
-
260
- assert_equal "Statehood Day", (Holidays.on(Date.civil(2017, 8, 18), [:us_hi])[0] || {})[:name]
261
- assert_equal "Statehood Day", (Holidays.on(Date.civil(2020, 8, 21), [:us_hi])[0] || {})[:name]
262
- assert_equal "Statehood Day", (Holidays.on(Date.civil(2025, 8, 15), [:us_hi])[0] || {})[:name]
263
-
264
- assert_equal "Lyndon Baines Johnson Day", (Holidays.on(Date.civil(2017, 8, 27), [:us_tx])[0] || {})[:name]
265
-
266
- assert_equal "Labor Day", (Holidays.on(Date.civil(2017, 9, 4), [:us])[0] || {})[:name]
267
- assert_equal "Labor Day", (Holidays.on(Date.civil(2018, 9, 3), [:us])[0] || {})[:name]
268
- assert_equal "Labor Day", (Holidays.on(Date.civil(2019, 9, 2), [:us])[0] || {})[:name]
269
-
270
- assert_nil (Holidays.on(Date.civil(2017, 9, 21), [:us])[0] || {})[:name]
271
- assert_nil (Holidays.on(Date.civil(2018, 9, 10), [:us])[0] || {})[:name]
272
- assert_nil (Holidays.on(Date.civil(2019, 9, 30), [:us])[0] || {})[:name]
273
-
274
- assert_equal "Rosh Hashanah", (Holidays.on(Date.civil(2017, 9, 21), [:us_tx])[0] || {})[:name]
275
- assert_equal "Rosh Hashanah", (Holidays.on(Date.civil(2018, 9, 10), [:us_tx])[0] || {})[:name]
276
- assert_equal "Rosh Hashanah", (Holidays.on(Date.civil(2019, 9, 30), [:us_tx])[0] || {})[:name]
277
-
278
- assert_nil (Holidays.on(Date.civil(2017, 9, 30), [:us])[0] || {})[:name]
279
- assert_nil (Holidays.on(Date.civil(2018, 9, 19), [:us])[0] || {})[:name]
280
- assert_nil (Holidays.on(Date.civil(2019, 10, 9), [:us])[0] || {})[:name]
281
-
282
- assert_equal "Yom Kippur", (Holidays.on(Date.civil(2017, 9, 30), [:us_tx])[0] || {})[:name]
283
- assert_equal "Yom Kippur", (Holidays.on(Date.civil(2018, 9, 19), [:us_tx])[0] || {})[:name]
284
- assert_equal "Yom Kippur", (Holidays.on(Date.civil(2019, 10, 9), [:us_tx])[0] || {})[:name]
285
-
286
- assert_nil (Holidays.on(Date.civil(2017, 10, 9), [:us])[0] || {})[:name]
287
- assert_nil (Holidays.on(Date.civil(2018, 10, 8), [:us])[0] || {})[:name]
288
- assert_nil (Holidays.on(Date.civil(2019, 10, 14), [:us])[0] || {})[:name]
289
-
290
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2017, 10, 9), [:us_al, :us_az, :us_co, :us_ct, :us_dc, :us_ga, :us_id, :us_il, :us_in, :us_ma, :us_md, :us_me, :us_mo, :us_mt, :us_ne, :us_nj, :us_nm, :us_ny, :us_oh, :us_pa, :us_ri, :us_ut, :us_va, :us_wv])[0] || {})[:name]
291
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2018, 10, 8), [:us_al, :us_az, :us_co, :us_ct, :us_dc, :us_ga, :us_id, :us_il, :us_in, :us_ma, :us_md, :us_me, :us_mo, :us_mt, :us_ne, :us_nj, :us_nm, :us_ny, :us_oh, :us_pa, :us_ri, :us_ut, :us_va, :us_wv])[0] || {})[:name]
292
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2019, 10, 14), [:us_al, :us_az, :us_co, :us_ct, :us_dc, :us_ga, :us_id, :us_il, :us_in, :us_ma, :us_md, :us_me, :us_mo, :us_mt, :us_ne, :us_nj, :us_nm, :us_ny, :us_oh, :us_pa, :us_ri, :us_ut, :us_va, :us_wv])[0] || {})[:name]
293
-
294
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2017, 10, 9), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy], [:informal])[0] || {})[:name]
295
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2018, 10, 8), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy], [:informal])[0] || {})[:name]
296
- assert_equal "Columbus Day", (Holidays.on(Date.civil(2019, 10, 14), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy], [:informal])[0] || {})[:name]
297
-
298
- assert_nil (Holidays.on(Date.civil(2017, 10, 9), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy])[0] || {})[:name]
299
- assert_nil (Holidays.on(Date.civil(2018, 10, 8), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy])[0] || {})[:name]
300
- assert_nil (Holidays.on(Date.civil(2019, 10, 14), [:us_ak, :us_ar, :us_ca, :us_de, :us_fl, :us_hi, :us_mi, :us_mn, :us_nd, :us_nv, :us_or, :us_sd, :us_tx, :us_vt, :us_wa, :us_wi, :us_wy])[0] || {})[:name]
301
-
302
- assert_equal "Alaska Day", (Holidays.on(Date.civil(2017, 10, 18), [:us_ak])[0] || {})[:name]
303
-
304
- assert_nil (Holidays.on(Date.civil(2017, 10, 27), [:us])[0] || {})[:name]
305
- assert_nil (Holidays.on(Date.civil(2018, 10, 26), [:us])[0] || {})[:name]
306
- assert_nil (Holidays.on(Date.civil(2019, 10, 25), [:us])[0] || {})[:name]
307
-
308
- assert_equal "Nevada Day", (Holidays.on(Date.civil(2017, 10, 27), [:us_nv])[0] || {})[:name]
309
- assert_equal "Nevada Day", (Holidays.on(Date.civil(2018, 10, 26), [:us_nv])[0] || {})[:name]
310
- assert_equal "Nevada Day", (Holidays.on(Date.civil(2019, 10, 25), [:us_nv])[0] || {})[:name]
311
-
312
- assert_nil (Holidays.on(Date.civil(2017, 11, 7), [:us])[0] || {})[:name]
313
- assert_nil (Holidays.on(Date.civil(2018, 11, 6), [:us])[0] || {})[:name]
314
- assert_nil (Holidays.on(Date.civil(2021, 11, 2), [:us])[0] || {})[:name]
315
-
316
- assert_equal "Election Day", (Holidays.on(Date.civil(2017, 11, 7), [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
317
- assert_equal "Election Day", (Holidays.on(Date.civil(2021, 11, 2), [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
318
-
319
- assert_equal "Election Day", (Holidays.on(Date.civil(2018, 11, 6), [:us_de, :us_hi, :us_in, :us_la, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
320
- assert_equal "Election Day", (Holidays.on(Date.civil(2028, 11, 7), [:us_de, :us_hi, :us_in, :us_la, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
321
-
322
- assert_equal "Veterans Day", (Holidays.on(Date.civil(2017, 11, 10), [:us], [:observed])[0] || {})[:name]
323
- assert_equal "Veterans Day", (Holidays.on(Date.civil(2018, 11, 12), [:us], [:observed])[0] || {})[:name]
324
- assert_equal "Veterans Day", (Holidays.on(Date.civil(2019, 11, 11), [:us], [:observed])[0] || {})[:name]
325
-
326
- assert_equal "Veterans Day", (Holidays.on(Date.civil(2017, 11, 11), [:us])[0] || {})[:name]
327
-
328
- assert_equal "Thanksgiving", (Holidays.on(Date.civil(2017, 11, 23), [:us])[0] || {})[:name]
329
- assert_equal "Thanksgiving", (Holidays.on(Date.civil(2018, 11, 22), [:us])[0] || {})[:name]
330
- assert_equal "Thanksgiving", (Holidays.on(Date.civil(2019, 11, 28), [:us])[0] || {})[:name]
331
-
332
- assert_nil (Holidays.on(Date.civil(2017, 11, 24), [:us])[0] || {})[:name]
333
- assert_nil (Holidays.on(Date.civil(2018, 11, 23), [:us])[0] || {})[:name]
334
- assert_nil (Holidays.on(Date.civil(2019, 11, 29), [:us])[0] || {})[:name]
335
-
336
- assert_equal "Family Day", (Holidays.on(Date.civil(2017, 11, 24), [:us_nv])[0] || {})[:name]
337
- assert_equal "Family Day", (Holidays.on(Date.civil(2018, 11, 23), [:us_nv])[0] || {})[:name]
338
- assert_equal "Family Day", (Holidays.on(Date.civil(2019, 11, 29), [:us_nv])[0] || {})[:name]
339
-
340
- assert_equal "State Holiday", (Holidays.on(Date.civil(2017, 11, 24), [:us_ga])[0] || {})[:name]
341
- assert_equal "State Holiday", (Holidays.on(Date.civil(2018, 11, 23), [:us_ga])[0] || {})[:name]
342
- assert_equal "State Holiday", (Holidays.on(Date.civil(2019, 11, 29), [:us_ga])[0] || {})[:name]
343
-
344
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2017, 11, 24), [:us_nm])[0] || {})[:name]
345
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2018, 11, 23), [:us_nm])[0] || {})[:name]
346
- assert_equal "Presidents' Day", (Holidays.on(Date.civil(2019, 11, 29), [:us_nm])[0] || {})[:name]
347
-
348
- assert_equal "Lincoln's Birthday", (Holidays.on(Date.civil(2017, 11, 24), [:us_in])[0] || {})[:name]
349
- assert_equal "Lincoln's Birthday", (Holidays.on(Date.civil(2018, 11, 23), [:us_in])[0] || {})[:name]
350
- assert_equal "Lincoln's Birthday", (Holidays.on(Date.civil(2019, 11, 29), [:us_in])[0] || {})[:name]
351
-
352
- assert_equal "American Indian Heritage Day", (Holidays.on(Date.civil(2017, 11, 24), [:us_md])[0] || {})[:name]
353
- assert_equal "American Indian Heritage Day", (Holidays.on(Date.civil(2018, 11, 23), [:us_md])[0] || {})[:name]
354
- assert_equal "American Indian Heritage Day", (Holidays.on(Date.civil(2019, 11, 29), [:us_md])[0] || {})[:name]
355
-
356
- assert_equal "Day after Thanksgiving (Black Friday)", (Holidays.on(Date.civil(2017, 11, 24), [:us_ca, :us_de, :us_fl, :us_ia, :us_il, :us_ks, :us_ky, :us_me, :us_mi, :us_mn, :us_ms, :us_ne, :us_nh, :us_nc, :us_pa, :us_sc, :us_ok, :us_tn, :us_tx, :us_va, :us_wa, :us_wv])[0] || {})[:name]
357
- assert_equal "Day after Thanksgiving (Black Friday)", (Holidays.on(Date.civil(2018, 11, 23), [:us_ca, :us_de, :us_fl, :us_ia, :us_il, :us_ks, :us_ky, :us_me, :us_mi, :us_mn, :us_ms, :us_ne, :us_nh, :us_nc, :us_pa, :us_sc, :us_ok, :us_tn, :us_tx, :us_va, :us_wa, :us_wv])[0] || {})[:name]
358
- assert_equal "Day after Thanksgiving (Black Friday)", (Holidays.on(Date.civil(2019, 11, 29), [:us_ca, :us_de, :us_fl, :us_ia, :us_il, :us_ks, :us_ky, :us_me, :us_mi, :us_mn, :us_ms, :us_ne, :us_nh, :us_nc, :us_pa, :us_sc, :us_ok, :us_tn, :us_tx, :us_va, :us_wa, :us_wv])[0] || {})[:name]
359
-
360
- assert_equal "Christmas Eve (Holiday)", (Holidays.on(Date.civil(2022, 12, 23), [:us_mi, :us_sc, :us_va])[0] || {})[:name]
361
- assert_equal "Christmas Eve (Holiday)", (Holidays.on(Date.civil(2023, 12, 22), [:us_mi, :us_sc, :us_va])[0] || {})[:name]
362
- assert_equal "Christmas Eve (Holiday)", (Holidays.on(Date.civil(2028, 12, 22), [:us_mi, :us_sc, :us_va])[0] || {})[:name]
363
-
364
- assert_equal "Christmas Eve", (Holidays.on(Date.civil(2017, 12, 24), [:us_ar, :us_mi, :us_nc, :us_va, :us_sc, :us_tx, :us_wi])[0] || {})[:name]
365
-
366
- assert_nil (Holidays.on(Date.civil(2021, 12, 27), [:us])[0] || {})[:name]
367
- assert_nil (Holidays.on(Date.civil(2022, 12, 26), [:us])[0] || {})[:name]
368
- assert_nil (Holidays.on(Date.civil(2027, 12, 27), [:us])[0] || {})[:name]
369
-
370
- assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12, 24), [:us], [:observed])[0] || {})[:name]
371
- assert_equal "Christmas Day", (Holidays.on(Date.civil(2022, 12, 26), [:us], [:observed])[0] || {})[:name]
372
- assert_equal "Christmas Day", (Holidays.on(Date.civil(2027, 12, 24), [:us], [:observed])[0] || {})[:name]
373
-
374
- assert_equal "Christmas Day", (Holidays.on(Date.civil(2017, 12, 25), [:us])[0] || {})[:name]
375
-
376
- assert_equal "Day after Christmas", (Holidays.on(Date.civil(2017, 12, 26), [:us_ar, :us_nc, :us_ok, :us_sc, :us_tn, :us_tx])[0] || {})[:name]
377
-
378
- assert_equal "New Year's Eve", (Holidays.on(Date.civil(2017, 12, 31), [:us_mi, :us_wi])[0] || {})[:name]
379
-
380
- assert_equal "Groundhog Day", (Holidays.on(Date.civil(2013, 2, 2), [:us], [:informal])[0] || {})[:name]
381
-
382
- assert_equal "Valentine's Day", (Holidays.on(Date.civil(2013, 2, 14), [:us], [:informal])[0] || {})[:name]
383
-
384
- assert_equal "St. Patrick's Day", (Holidays.on(Date.civil(2013, 3, 17), [:us], [:informal])[0] || {})[:name]
385
-
386
- assert_equal "April Fool's Day", (Holidays.on(Date.civil(2013, 4, 1), [:us], [:informal])[0] || {})[:name]
387
-
388
- assert_equal "Earth Day", (Holidays.on(Date.civil(2013, 4, 22), [:us], [:informal])[0] || {})[:name]
389
-
390
- assert_equal "Mother's Day", (Holidays.on(Date.civil(2013, 5, 12), [:us], [:informal])[0] || {})[:name]
391
-
392
- assert_equal "Armed Forces Day", (Holidays.on(Date.civil(2013, 5, 18), [:us], [:informal])[0] || {})[:name]
393
-
394
- assert_equal "Father's Day", (Holidays.on(Date.civil(2013, 6, 16), [:us], [:informal])[0] || {})[:name]
395
-
396
- assert_equal "Halloween", (Holidays.on(Date.civil(2013, 10, 31), [:us], [:informal])[0] || {})[:name]
397
-
398
- end
399
- end
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
- require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
3
-
4
- # This file is generated by the Ruby Holiday gem.
5
- #
6
- # Definitions loaded: definitions/ve.yaml
7
- class VeDefinitionTests < Test::Unit::TestCase # :nodoc:
8
-
9
- def test_ve
10
- assert_equal "Año Nuevo", (Holidays.on(Date.civil(2013, 1, 1), [:ve])[0] || {})[:name]
11
-
12
- assert_equal "Lunes Carnaval", (Holidays.on(Date.civil(2013, 2, 11), [:ve])[0] || {})[:name]
13
-
14
- assert_equal "Martes Carnaval", (Holidays.on(Date.civil(2013, 2, 12), [:ve])[0] || {})[:name]
15
-
16
- assert_equal "Jueves Santo", (Holidays.on(Date.civil(2013, 3, 28), [:ve])[0] || {})[:name]
17
-
18
- assert_equal "Viernes Santo", (Holidays.on(Date.civil(2013, 3, 29), [:ve])[0] || {})[:name]
19
-
20
- assert_equal "Declaración Independencia", (Holidays.on(Date.civil(2013, 4, 19), [:ve])[0] || {})[:name]
21
-
22
- assert_equal "Día del Trabajador", (Holidays.on(Date.civil(2013, 5, 1), [:ve])[0] || {})[:name]
23
-
24
- assert_equal "Aniversario Batalla de Carabobo", (Holidays.on(Date.civil(2013, 6, 24), [:ve])[0] || {})[:name]
25
-
26
- assert_equal "Día de la Independencia", (Holidays.on(Date.civil(2013, 7, 5), [:ve])[0] || {})[:name]
27
-
28
- assert_equal "Natalicio de Simón Bolívar", (Holidays.on(Date.civil(2013, 7, 24), [:ve])[0] || {})[:name]
29
-
30
- assert_equal "Día de la Resistencia Indígena", (Holidays.on(Date.civil(2013, 10, 12), [:ve])[0] || {})[:name]
31
-
32
- assert_equal "Día de Navidad", (Holidays.on(Date.civil(2013, 12, 25), [:ve])[0] || {})[:name]
33
-
34
- end
35
- end
@@ -1,22 +0,0 @@
1
- # encoding: utf-8
2
- require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
3
-
4
- # This file is generated by the Ruby Holiday gem.
5
- #
6
- # Definitions loaded: definitions/vi.yaml
7
- class ViDefinitionTests < Test::Unit::TestCase # :nodoc:
8
-
9
- def test_vi
10
- assert_equal "Tết dương lịch", (Holidays.on(Date.civil(2014, 1, 1), [:vi])[0] || {})[:name]
11
-
12
- assert_equal "Ngày Giải phóng miền Nam, thống nhất đất nước", (Holidays.on(Date.civil(2014, 4, 30), [:vi])[0] || {})[:name]
13
-
14
- assert_equal "Ngày Quốc tế Lao động", (Holidays.on(Date.civil(2014, 5, 1), [:vi])[0] || {})[:name]
15
-
16
- assert_equal "Quốc khánh", (Holidays.on(Date.civil(2014, 9, 2), [:vi])[0] || {})[:name]
17
-
18
- assert_equal "Giỗ tổ Hùng Vương", (Holidays.on(Date.civil(2017, 4, 6), [:vi])[0] || {})[:name]
19
- assert_equal "Giỗ tổ Hùng Vương", (Holidays.on(Date.civil(2018, 3, 27), [:vi])[0] || {})[:name]
20
-
21
- end
22
- end
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
- require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
3
-
4
- # This file is generated by the Ruby Holiday gem.
5
- #
6
- # Definitions loaded: definitions/za.yaml
7
- class ZaDefinitionTests < Test::Unit::TestCase # :nodoc:
8
-
9
- def test_za
10
- assert_equal "New Year's Day", (Holidays.on(Date.civil(2007, 1, 1), [:za], [:informal])[0] || {})[:name]
11
-
12
- assert_equal "Human Rights Day", (Holidays.on(Date.civil(2007, 3, 21), [:za], [:informal])[0] || {})[:name]
13
-
14
- assert_equal "Good Friday", (Holidays.on(Date.civil(2007, 4, 6), [:za], [:informal])[0] || {})[:name]
15
-
16
- assert_equal "Family Day", (Holidays.on(Date.civil(2007, 4, 9), [:za], [:informal])[0] || {})[:name]
17
-
18
- assert_equal "Freedom Day", (Holidays.on(Date.civil(2007, 4, 27), [:za], [:informal])[0] || {})[:name]
19
-
20
- assert_equal "Workers Day", (Holidays.on(Date.civil(2007, 5, 1), [:za], [:informal])[0] || {})[:name]
21
-
22
- assert_equal "Youth Day", (Holidays.on(Date.civil(2007, 6, 16), [:za], [:informal])[0] || {})[:name]
23
-
24
- assert_equal "National Women's Day", (Holidays.on(Date.civil(2007, 8, 9), [:za], [:informal])[0] || {})[:name]
25
-
26
- assert_equal "Heritage Day", (Holidays.on(Date.civil(2007, 9, 24), [:za], [:informal])[0] || {})[:name]
27
-
28
- assert_equal "Day of Reconciliation", (Holidays.on(Date.civil(2007, 12, 16), [:za], [:informal])[0] || {})[:name]
29
-
30
- assert_equal "Christmas Day", (Holidays.on(Date.civil(2007, 12, 25), [:za], [:informal])[0] || {})[:name]
31
-
32
- assert_equal "Day of Goodwill", (Holidays.on(Date.civil(2007, 12, 26), [:za], [:informal])[0] || {})[:name]
33
-
34
- end
35
- end
data/test/e2e/README.md DELETED
@@ -1,52 +0,0 @@
1
- # End-to-end tests
2
-
3
- End-user behavioral checks against the **real upstream definitions** in
4
- `/definitions`. These tests load actual region data and assert specific
5
- holiday names, dates, counts, and observed-date behavior, the kinds of
6
- expectations a consumer of the gem would care about.
7
-
8
- ## Purpose
9
-
10
- These tests verify that the full pipeline, from upstream YAML through
11
- generation through gem processing to the public API, produces the results
12
- an end user expects for real-world regions. They complement fixture-based
13
- integration tests by catching content regressions in the gem's interaction
14
- with real definitions.
15
-
16
- ## E2E tests vs. integration vs. smoke
17
-
18
- - **Smoke** (`test/smoke/`): only asserts nothing crashes. Run from the
19
- upstream `holidays/definitions` CI.
20
- - **Integration** (`test/integration/`): verifies gem-wide behavior using
21
- controlled fixture YAMLs. Stable across definitions changes.
22
- - **E2E** (this directory): verifies end-user-perceived behavior using real
23
- upstream definitions. Expected to break when upstream definitions change,
24
- on purpose.
25
-
26
- ## Important
27
-
28
- These tests are tightly coupled to the contents of `/definitions`. When you
29
- update the definitions submodule and an upstream change shifts a holiday name,
30
- date, or count, the corresponding e2e test must be updated to match. That is
31
- working as intended: the test is the gem's record of what end users see, so
32
- updating it is part of accepting the upstream change.
33
-
34
- This directory is **not** run by the upstream `holidays/definitions` CI. Doing
35
- so would create a dependency loop where the definitions repo cannot ship a
36
- legitimate content change without also updating tests in this repo first.
37
-
38
- ## What belongs here
39
-
40
- - Tests that assert specific holidays exist on specific dates for specific
41
- regions using real definitions (e.g. `:ca` returns "Labour Day" on Sept 1, 2008).
42
- - Tests of observed-date behavior against real region rules.
43
- - Tests of sub-region inheritance, wildcards (`:ca_`), `:any`, and cross-region
44
- conflicts using real data.
45
- - Region-count or holiday-count assertions for specific year/region combinations.
46
-
47
- ## What does NOT belong here
48
-
49
- - Tests that don't depend on real definitions content. Those belong in
50
- `integration/` (with fixtures) or `smoke/` (structural only).
51
- - Tests of a single file or class in isolation. Those are unit tests and
52
- belong next to the code they cover.
@@ -1,38 +0,0 @@
1
- months:
2
- 0:
3
- - name: With Function Modifier
4
- regions: [multiple_with_conflict_1]
5
- function: easter(year)
6
- function_modifier: 60
7
- - name: With Function Only Different Function Name
8
- regions: [multiple_with_conflict_1]
9
- function: conflict_custom_method_1(year)
10
- - name: With Function Only Same Function Name
11
- regions: [multiple_with_conflict_1]
12
- function: conflict_custom_method_identical_name_between_regions(year)
13
- - name: With Function Only Same Function Name - Region 1
14
- regions: [multiple_with_conflict_1]
15
- function: conflict_custom_method_identical_name_between_regions_but_different_holiday_names(year)
16
- 1:
17
- - name: New Year's Day
18
- regions: [multiple_with_conflict_1]
19
- mday: 1
20
- observed: to_monday_if_weekend(date)
21
- 10:
22
- - name: Testing Conflict Month 10
23
- regions: [multiple_with_conflict_1]
24
- mday: 5
25
-
26
- methods:
27
- conflict_custom_method_1:
28
- arguments: year
29
- ruby: |
30
- Date.civil(year, 8, 1)
31
- conflict_custom_method_identical_name_between_regions:
32
- arguments: year
33
- ruby: |
34
- Date.civil(year, 9, 1)
35
- conflict_custom_method_identical_name_between_regions_but_different_holiday_names:
36
- arguments: year
37
- ruby: |
38
- Date.civil(year, 9, 15)
@@ -1,38 +0,0 @@
1
- months:
2
- 0:
3
- - name: With Function Modifier
4
- regions: [multiple_with_conflict_2]
5
- function: easter(year)
6
- function_modifier: 64
7
- - name: With Function Only Different Function Name
8
- regions: [multiple_with_conflict_2]
9
- function: conflict_custom_method_2(year)
10
- - name: With Function Only Same Function Name
11
- regions: [multiple_with_conflict_2]
12
- function: conflict_custom_method_identical_name_between_regions(year)
13
- - name: With Function Only Same Function Name - Region 2
14
- regions: [multiple_with_conflict_2]
15
- function: conflict_custom_method_identical_name_between_regions_but_different_holiday_names(year)
16
- 1:
17
- - name: New Year's Day
18
- regions: [multiple_with_conflict_2]
19
- mday: 1
20
- observed: to_tuesday_if_sunday_or_monday_if_saturday(date)
21
- 10:
22
- - name: Testing Conflict Month 10
23
- regions: [multiple_with_conflict_2]
24
- mday: 7
25
-
26
- methods:
27
- conflict_custom_method_2:
28
- arguments: year
29
- ruby: |
30
- Date.civil(year, 12, 1)
31
- conflict_custom_method_identical_name_between_regions:
32
- arguments: year
33
- ruby: |
34
- Date.civil(year, 11, 1)
35
- conflict_custom_method_identical_name_between_regions_but_different_holiday_names:
36
- arguments: year
37
- ruby: |
38
- Date.civil(year, 11, 15)