holidays 7.1.0 → 8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/README.md +3 -4
- data/doc/CONTRIBUTING.md +2 -1
- data/holidays.gemspec +5 -5
- data/lib/generated_definitions/MANIFEST +1 -0
- data/lib/generated_definitions/REGIONS.rb +2 -2
- data/lib/generated_definitions/au.rb +1 -1
- data/lib/generated_definitions/ca.rb +11 -10
- data/lib/generated_definitions/cl.rb +5 -5
- data/lib/generated_definitions/de.rb +3 -3
- data/lib/generated_definitions/es.rb +2 -1
- data/lib/generated_definitions/europe.rb +60 -16
- data/lib/generated_definitions/gb.rb +5 -3
- data/lib/generated_definitions/hu.rb +3 -2
- data/lib/generated_definitions/it.rb +14 -5
- data/lib/generated_definitions/jp.rb +21 -21
- data/lib/generated_definitions/lv.rb +52 -0
- data/lib/generated_definitions/northamerica.rb +15 -15
- data/lib/generated_definitions/ro.rb +5 -2
- data/lib/generated_definitions/southamerica.rb +5 -5
- data/lib/generated_definitions/tr.rb +1 -1
- data/lib/generated_definitions/ua.rb +6 -6
- data/lib/generated_definitions/us.rb +5 -6
- data/lib/holidays.rb +2 -0
- data/lib/holidays/definition/context/generator.rb +20 -34
- data/lib/holidays/definition/repository/holidays_by_month.rb +9 -1
- data/lib/holidays/finder/context/search.rb +34 -31
- data/lib/holidays/finder/rules/year_range.rb +30 -54
- data/lib/holidays/version.rb +1 -1
- data/test/coverage_report.rb +23 -5
- data/test/data/test_custom_year_range_holiday_defs.yaml +6 -10
- data/test/data/test_multiple_regions_with_conflicts_region_1.yaml +38 -0
- data/test/data/test_multiple_regions_with_conflicts_region_2.yaml +38 -0
- data/test/defs/test_defs_ca.rb +13 -1
- data/test/defs/test_defs_co.rb +3 -3
- data/test/defs/test_defs_europe.rb +126 -5
- data/test/defs/test_defs_hu.rb +12 -4
- data/test/defs/test_defs_it.rb +20 -0
- data/test/defs/test_defs_lv.rb +90 -0
- data/test/defs/test_defs_northamerica.rb +19 -11
- data/test/defs/test_defs_ro.rb +14 -0
- data/test/defs/test_defs_southamerica.rb +3 -3
- data/test/defs/test_defs_us.rb +6 -10
- data/test/holidays/core_extensions/test_date.rb +3 -2
- data/test/holidays/definition/context/test_generator.rb +5 -18
- data/test/holidays/definition/repository/test_holidays_by_month.rb +121 -1
- data/test/holidays/finder/rules/test_year_range.rb +43 -47
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_custom_year_range_holidays.rb +0 -7
- data/test/integration/test_holidays.rb +1 -1
- data/test/integration/test_holidays_between.rb +10 -0
- data/test/integration/test_multiple_regions_with_conflict.rb +29 -0
- metadata +21 -13
data/test/defs/test_defs_hu.rb
CHANGED
@@ -13,15 +13,15 @@ class HuDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
13
13
|
|
14
14
|
assert_equal "1848/49-es forradalom és szabadságharc ünnepe", (Holidays.on(Date.civil(2012, 3, 15), [:hu], [:informal])[0] || {})[:name]
|
15
15
|
|
16
|
-
assert_equal "
|
16
|
+
assert_equal "Húsvéthétfő", (Holidays.on(Date.civil(2011, 4, 25), [:hu], [:informal])[0] || {})[:name]
|
17
17
|
|
18
|
-
assert_equal "
|
18
|
+
assert_equal "Húsvéthétfő", (Holidays.on(Date.civil(2012, 4, 9), [:hu], [:informal])[0] || {})[:name]
|
19
19
|
|
20
20
|
assert_equal "A munka ünnepe", (Holidays.on(Date.civil(2012, 5, 1), [:hu], [:informal])[0] || {})[:name]
|
21
21
|
|
22
|
-
assert_equal "
|
22
|
+
assert_equal "Pünkösdhétfő", (Holidays.on(Date.civil(2011, 6, 13), [:hu], [:informal])[0] || {})[:name]
|
23
23
|
|
24
|
-
assert_equal "
|
24
|
+
assert_equal "Pünkösdhétfő", (Holidays.on(Date.civil(2012, 5, 28), [:hu], [:informal])[0] || {})[:name]
|
25
25
|
|
26
26
|
assert_equal "Az államalapítás ünnepe", (Holidays.on(Date.civil(2012, 8, 20), [:hu], [:informal])[0] || {})[:name]
|
27
27
|
|
@@ -35,5 +35,13 @@ class HuDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
35
35
|
|
36
36
|
assert_nil (Holidays.on(Date.civil(2012, 3, 14), [:hu])[0] || {})[:name]
|
37
37
|
|
38
|
+
assert_equal "Húsvéthétfő", (Holidays.on(Date.civil(2016, 3, 28), [:hu])[0] || {})[:name]
|
39
|
+
|
40
|
+
assert_nil (Holidays.on(Date.civil(2016, 3, 25), [:hu])[0] || {})[:name]
|
41
|
+
|
42
|
+
assert_equal "Húsvéthétfő", (Holidays.on(Date.civil(2017, 4, 17), [:hu])[0] || {})[:name]
|
43
|
+
|
44
|
+
assert_equal "Nagypéntek", (Holidays.on(Date.civil(2017, 4, 14), [:hu])[0] || {})[:name]
|
45
|
+
|
38
46
|
end
|
39
47
|
end
|
data/test/defs/test_defs_it.rb
CHANGED
@@ -17,14 +17,34 @@ class ItDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
17
17
|
|
18
18
|
assert_equal "Festa della Liberazione", (Holidays.on(Date.civil(2007, 4, 25), [:it], [:informal])[0] || {})[:name]
|
19
19
|
|
20
|
+
assert_equal "Festa di San Liberale", (Holidays.on(Date.civil(2019, 4, 27), [:it_tv], [:informal])[0] || {})[:name]
|
21
|
+
|
20
22
|
assert_equal "Festa dei Lavoratori", (Holidays.on(Date.civil(2007, 5, 1), [:it], [:informal])[0] || {})[:name]
|
21
23
|
|
24
|
+
assert_equal "Festa di San Zeno", (Holidays.on(Date.civil(2019, 5, 21), [:it_vr], [:informal])[0] || {})[:name]
|
25
|
+
|
22
26
|
assert_equal "Festa della Repubblica", (Holidays.on(Date.civil(2007, 6, 2), [:it], [:informal])[0] || {})[:name]
|
23
27
|
|
28
|
+
assert_equal "Festa di Sant'Antonio di Padova", (Holidays.on(Date.civil(2019, 6, 13), [:it_pd], [:informal])[0] || {})[:name]
|
29
|
+
|
30
|
+
assert_equal "Festa di San Giovanni Battista", (Holidays.on(Date.civil(2019, 6, 24), [:it_fi, :it_ge, :it_to], [:informal])[0] || {})[:name]
|
31
|
+
|
32
|
+
assert_nil (Holidays.on(Date.civil(2019, 6, 24), [:it])[0] || {})[:name]
|
33
|
+
|
34
|
+
assert_equal "Festa di San Pietro e Paolo", (Holidays.on(Date.civil(2019, 6, 29), [:it_rm], [:informal])[0] || {})[:name]
|
35
|
+
|
36
|
+
assert_nil (Holidays.on(Date.civil(2019, 6, 29), [:it])[0] || {})[:name]
|
37
|
+
|
24
38
|
assert_equal "Assunzione", (Holidays.on(Date.civil(2007, 8, 15), [:it], [:informal])[0] || {})[:name]
|
25
39
|
|
40
|
+
assert_equal "Festa della Madonna di Monte Berico", (Holidays.on(Date.civil(2019, 9, 8), [:it_vi], [:informal])[0] || {})[:name]
|
41
|
+
|
26
42
|
assert_equal "Ognissanti", (Holidays.on(Date.civil(2007, 11, 1), [:it], [:informal])[0] || {})[:name]
|
27
43
|
|
44
|
+
assert_equal "Festa di San Martino", (Holidays.on(Date.civil(2019, 11, 11), [:it_bl], [:informal])[0] || {})[:name]
|
45
|
+
|
46
|
+
assert_equal "Festa di San Bellino", (Holidays.on(Date.civil(2019, 11, 26), [:it_ro], [:informal])[0] || {})[:name]
|
47
|
+
|
28
48
|
assert_equal "Immacolata Concezione", (Holidays.on(Date.civil(2007, 12, 8), [:it], [:informal])[0] || {})[:name]
|
29
49
|
|
30
50
|
assert_equal "Natale", (Holidays.on(Date.civil(2007, 12, 25), [:it], [:informal])[0] || {})[:name]
|
@@ -0,0 +1,90 @@
|
|
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/lv.yaml
|
7
|
+
class LvDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_lv
|
10
|
+
assert_equal "Jaungada diena", (Holidays.on(Date.civil(2018, 1, 1), [:lv])[0] || {})[:name]
|
11
|
+
assert_equal "Jaungada diena", (Holidays.on(Date.civil(2019, 1, 1), [:lv])[0] || {})[:name]
|
12
|
+
assert_equal "Jaungada diena", (Holidays.on(Date.civil(2029, 1, 1), [:lv])[0] || {})[:name]
|
13
|
+
|
14
|
+
assert_equal "Lielā Piektdiena", (Holidays.on(Date.civil(2018, 3, 30), [:lv])[0] || {})[:name]
|
15
|
+
assert_equal "Lielā Piektdiena", (Holidays.on(Date.civil(2019, 4, 19), [:lv])[0] || {})[:name]
|
16
|
+
assert_equal "Lielā Piektdiena", (Holidays.on(Date.civil(2039, 4, 8), [:lv])[0] || {})[:name]
|
17
|
+
|
18
|
+
assert_equal "Pirmās Lieldienas", (Holidays.on(Date.civil(2018, 4, 1), [:lv])[0] || {})[:name]
|
19
|
+
assert_equal "Pirmās Lieldienas", (Holidays.on(Date.civil(2019, 4, 21), [:lv])[0] || {})[:name]
|
20
|
+
assert_equal "Pirmās Lieldienas", (Holidays.on(Date.civil(2039, 4, 10), [:lv])[0] || {})[:name]
|
21
|
+
|
22
|
+
assert_equal "Otrās Lieldienas", (Holidays.on(Date.civil(2018, 4, 2), [:lv])[0] || {})[:name]
|
23
|
+
assert_equal "Otrās Lieldienas", (Holidays.on(Date.civil(2019, 4, 22), [:lv])[0] || {})[:name]
|
24
|
+
assert_equal "Otrās Lieldienas", (Holidays.on(Date.civil(2039, 4, 11), [:lv])[0] || {})[:name]
|
25
|
+
|
26
|
+
assert_equal "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", (Holidays.on(Date.civil(2018, 5, 1), [:lv])[0] || {})[:name]
|
27
|
+
assert_equal "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", (Holidays.on(Date.civil(2019, 5, 1), [:lv])[0] || {})[:name]
|
28
|
+
assert_equal "Darba svētki, Latvijas Republikas Satversmes sapulces sasaukšanas diena", (Holidays.on(Date.civil(2029, 5, 1), [:lv])[0] || {})[:name]
|
29
|
+
|
30
|
+
assert_equal "Latvijas Republikas Neatkarības atjaunošanas diena", (Holidays.on(Date.civil(2018, 5, 4), [:lv])[0] || {})[:name]
|
31
|
+
assert_equal "Latvijas Republikas Neatkarības atjaunošanas diena", (Holidays.on(Date.civil(2019, 5, 4), [:lv])[0] || {})[:name]
|
32
|
+
assert_equal "Latvijas Republikas Neatkarības atjaunošanas diena", (Holidays.on(Date.civil(2020, 5, 4), [:lv])[0] || {})[:name]
|
33
|
+
|
34
|
+
assert_equal "Latvijas Republikas Neatkarības atjaunošanas diena", (Holidays.on(Date.civil(2019, 5, 6), [:lv], [:observed])[0] || {})[:name]
|
35
|
+
|
36
|
+
assert_equal "Latvijas Republikas Neatkarības atjaunošanas diena", (Holidays.on(Date.civil(2020, 5, 4), [:lv], [:observed])[0] || {})[:name]
|
37
|
+
|
38
|
+
assert_equal "Mātes diena", (Holidays.on(Date.civil(2019, 5, 12), [:lv])[0] || {})[:name]
|
39
|
+
assert_equal "Mātes diena", (Holidays.on(Date.civil(2020, 5, 10), [:lv])[0] || {})[:name]
|
40
|
+
assert_equal "Mātes diena", (Holidays.on(Date.civil(2029, 5, 13), [:lv])[0] || {})[:name]
|
41
|
+
|
42
|
+
assert_equal "Vasarsvētki", (Holidays.on(Date.civil(2019, 6, 9), [:lv])[0] || {})[:name]
|
43
|
+
assert_equal "Vasarsvētki", (Holidays.on(Date.civil(2020, 5, 31), [:lv])[0] || {})[:name]
|
44
|
+
assert_equal "Vasarsvētki", (Holidays.on(Date.civil(2029, 5, 20), [:lv])[0] || {})[:name]
|
45
|
+
|
46
|
+
assert_equal "Līgo diena", (Holidays.on(Date.civil(2019, 6, 23), [:lv])[0] || {})[:name]
|
47
|
+
assert_equal "Līgo diena", (Holidays.on(Date.civil(2020, 6, 23), [:lv])[0] || {})[:name]
|
48
|
+
assert_equal "Līgo diena", (Holidays.on(Date.civil(2029, 6, 23), [:lv])[0] || {})[:name]
|
49
|
+
|
50
|
+
assert_equal "Jāņu diena", (Holidays.on(Date.civil(2019, 6, 24), [:lv])[0] || {})[:name]
|
51
|
+
assert_equal "Jāņu diena", (Holidays.on(Date.civil(2020, 6, 24), [:lv])[0] || {})[:name]
|
52
|
+
assert_equal "Jāņu diena", (Holidays.on(Date.civil(2029, 6, 24), [:lv])[0] || {})[:name]
|
53
|
+
|
54
|
+
assert_equal "Vispārējo latviešu Dziesmu un deju svētku noslēguma diena", (Holidays.on(Date.civil(2018, 7, 8), [:lv])[0] || {})[:name]
|
55
|
+
|
56
|
+
assert_equal "Vispārējo latviešu Dziesmu un deju svētku noslēguma diena", (Holidays.on(Date.civil(2018, 7, 9), [:lv], [:observed])[0] || {})[:name]
|
57
|
+
|
58
|
+
assert_nil (Holidays.on(Date.civil(2019, 7, 8), [:lv])[0] || {})[:name]
|
59
|
+
assert_nil (Holidays.on(Date.civil(2019, 7, 9), [:lv])[0] || {})[:name]
|
60
|
+
|
61
|
+
assert_equal "Viņa Svētības pāvesta Franciska pastorālās vizītes Latvijā diena", (Holidays.on(Date.civil(2018, 9, 24), [:lv])[0] || {})[:name]
|
62
|
+
|
63
|
+
assert_nil (Holidays.on(Date.civil(2019, 9, 24), [:lv])[0] || {})[:name]
|
64
|
+
|
65
|
+
assert_equal "Latvijas Republikas Proklamēšanas diena", (Holidays.on(Date.civil(2019, 11, 18), [:lv])[0] || {})[:name]
|
66
|
+
assert_equal "Latvijas Republikas Proklamēšanas diena", (Holidays.on(Date.civil(2020, 11, 18), [:lv])[0] || {})[:name]
|
67
|
+
assert_equal "Latvijas Republikas Proklamēšanas diena", (Holidays.on(Date.civil(2029, 11, 18), [:lv])[0] || {})[:name]
|
68
|
+
|
69
|
+
assert_equal "Latvijas Republikas Proklamēšanas diena", (Holidays.on(Date.civil(2020, 11, 18), [:lv], [:observed])[0] || {})[:name]
|
70
|
+
|
71
|
+
assert_equal "Latvijas Republikas Proklamēšanas diena", (Holidays.on(Date.civil(2029, 11, 19), [:lv], [:observed])[0] || {})[:name]
|
72
|
+
|
73
|
+
assert_equal "Ziemassvētku vakars", (Holidays.on(Date.civil(2019, 12, 24), [:lv])[0] || {})[:name]
|
74
|
+
assert_equal "Ziemassvētku vakars", (Holidays.on(Date.civil(2020, 12, 24), [:lv])[0] || {})[:name]
|
75
|
+
assert_equal "Ziemassvētku vakars", (Holidays.on(Date.civil(2029, 12, 24), [:lv])[0] || {})[:name]
|
76
|
+
|
77
|
+
assert_equal "Pirmie Ziemassvētki", (Holidays.on(Date.civil(2019, 12, 25), [:lv])[0] || {})[:name]
|
78
|
+
assert_equal "Pirmie Ziemassvētki", (Holidays.on(Date.civil(2020, 12, 25), [:lv])[0] || {})[:name]
|
79
|
+
assert_equal "Pirmie Ziemassvētki", (Holidays.on(Date.civil(2029, 12, 25), [:lv])[0] || {})[:name]
|
80
|
+
|
81
|
+
assert_equal "Otrie Ziemassvētki", (Holidays.on(Date.civil(2019, 12, 26), [:lv])[0] || {})[:name]
|
82
|
+
assert_equal "Otrie Ziemassvētki", (Holidays.on(Date.civil(2020, 12, 26), [:lv])[0] || {})[:name]
|
83
|
+
assert_equal "Otrie Ziemassvētki", (Holidays.on(Date.civil(2029, 12, 26), [:lv])[0] || {})[:name]
|
84
|
+
|
85
|
+
assert_equal "Vecgada diena", (Holidays.on(Date.civil(2019, 12, 31), [:lv])[0] || {})[:name]
|
86
|
+
assert_equal "Vecgada diena", (Holidays.on(Date.civil(2020, 12, 31), [:lv])[0] || {})[:name]
|
87
|
+
assert_equal "Vecgada diena", (Holidays.on(Date.civil(2029, 12, 31), [:lv])[0] || {})[:name]
|
88
|
+
|
89
|
+
end
|
90
|
+
end
|
@@ -201,12 +201,24 @@ assert_equal "Remembrance Day", (Holidays.on(Date.civil(2017, 11, 13), [:ca_ab,
|
|
201
201
|
|
202
202
|
assert_equal "Canada Day", (Holidays.on(Date.civil(2017, 7, 3), [:ca], [:observed])[0] || {})[:name]
|
203
203
|
|
204
|
-
assert_equal "Christmas Day", (Holidays.on(Date.civil(2010, 12,
|
204
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2010, 12, 25), [:ca])[0] || {})[:name]
|
205
|
+
|
206
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2018, 12, 25), [:ca])[0] || {})[:name]
|
207
|
+
|
208
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2022, 12, 25), [:ca])[0] || {})[:name]
|
209
|
+
|
210
|
+
assert_nil (Holidays.on(Date.civil(2022, 12, 25), [:ca], [:observed])[0] || {})[:name]
|
211
|
+
|
212
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2010, 12, 24), [:ca], [:observed])[0] || {})[:name]
|
205
213
|
|
206
214
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2012, 12, 25), [:ca], [:observed])[0] || {})[:name]
|
207
215
|
|
208
216
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2016, 12, 26), [:ca], [:observed])[0] || {})[:name]
|
209
217
|
|
218
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12, 24), [:ca], [:observed])[0] || {})[:name]
|
219
|
+
|
220
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2022, 12, 26), [:ca], [:observed])[0] || {})[:name]
|
221
|
+
|
210
222
|
assert_equal "Boxing Day", (Holidays.on(Date.civil(2010, 12, 28), [:ca_on], [:observed])[0] || {})[:name]
|
211
223
|
assert_equal "Boxing Day", (Holidays.on(Date.civil(2012, 12, 26), [:ca_on], [:observed])[0] || {})[:name]
|
212
224
|
assert_equal "Boxing Day", (Holidays.on(Date.civil(2015, 12, 28), [:ca_on], [:observed])[0] || {})[:name]
|
@@ -326,10 +338,6 @@ assert_equal "Presidents' Day", (Holidays.on(Date.civil(2018, 2, 19), [:us])[0]
|
|
326
338
|
assert_nil (Holidays.on(Date.civil(2018, 3, 5), [:us])[0] || {})[:name]
|
327
339
|
assert_nil (Holidays.on(Date.civil(2019, 3, 4), [:us])[0] || {})[:name]
|
328
340
|
|
329
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2017, 3, 6), [:us_il])[0] || {})[:name]
|
330
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2018, 3, 5), [:us_il])[0] || {})[:name]
|
331
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2019, 3, 4), [:us_il])[0] || {})[:name]
|
332
|
-
|
333
341
|
assert_nil (Holidays.on(Date.civil(2017, 3, 7), [:us])[0] || {})[:name]
|
334
342
|
assert_nil (Holidays.on(Date.civil(2018, 3, 6), [:us])[0] || {})[:name]
|
335
343
|
assert_nil (Holidays.on(Date.civil(2019, 3, 5), [:us])[0] || {})[:name]
|
@@ -366,7 +374,7 @@ assert_equal "Seward's Day", (Holidays.on(Date.civil(2019, 3, 25), [:us_ak])[0]
|
|
366
374
|
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2022, 4, 15), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
|
367
375
|
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2028, 4, 17), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
|
368
376
|
|
369
|
-
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 4, 16), [:us_dc
|
377
|
+
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 4, 16), [:us_dc])[0] || {})[:name]
|
370
378
|
|
371
379
|
assert_nil (Holidays.on(Date.civil(2017, 4, 17), [:us])[0] || {})[:name]
|
372
380
|
assert_nil (Holidays.on(Date.civil(2018, 4, 16), [:us])[0] || {})[:name]
|
@@ -542,9 +550,9 @@ assert_equal "Nevada Day", (Holidays.on(Date.civil(2019, 10, 25), [:us_nv])[0] |
|
|
542
550
|
assert_nil (Holidays.on(Date.civil(2018, 11, 6), [:us])[0] || {})[:name]
|
543
551
|
assert_nil (Holidays.on(Date.civil(2021, 11, 2), [:us])[0] || {})[:name]
|
544
552
|
|
545
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2017, 11, 7), [:us_de, :us_hi, :
|
546
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2018, 11, 6), [:us_de, :us_hi, :
|
547
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2021, 11, 2), [:us_de, :us_hi, :
|
553
|
+
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]
|
554
|
+
assert_equal "Election Day", (Holidays.on(Date.civil(2018, 11, 6), [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
|
555
|
+
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]
|
548
556
|
|
549
557
|
assert_equal "Veterans Day", (Holidays.on(Date.civil(2017, 11, 10), [:us], [:observed])[0] || {})[:name]
|
550
558
|
assert_equal "Veterans Day", (Holidays.on(Date.civil(2018, 11, 12), [:us], [:observed])[0] || {})[:name]
|
@@ -594,9 +602,9 @@ assert_equal "Christmas Eve (Holiday)", (Holidays.on(Date.civil(2028, 12, 22), [
|
|
594
602
|
assert_nil (Holidays.on(Date.civil(2022, 12, 26), [:us])[0] || {})[:name]
|
595
603
|
assert_nil (Holidays.on(Date.civil(2027, 12, 27), [:us])[0] || {})[:name]
|
596
604
|
|
597
|
-
assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12,
|
605
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12, 24), [:us], [:observed])[0] || {})[:name]
|
598
606
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2022, 12, 26), [:us], [:observed])[0] || {})[:name]
|
599
|
-
assert_equal "Christmas Day", (Holidays.on(Date.civil(2027, 12,
|
607
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2027, 12, 24), [:us], [:observed])[0] || {})[:name]
|
600
608
|
|
601
609
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2017, 12, 25), [:us])[0] || {})[:name]
|
602
610
|
|
data/test/defs/test_defs_ro.rb
CHANGED
@@ -7,6 +7,12 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
7
7
|
class RoDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
8
|
|
9
9
|
def test_ro
|
10
|
+
assert_nil (Holidays.on(Date.civil(2017, 4, 14), [:ro])[0] || {})[:name]
|
11
|
+
|
12
|
+
assert_equal "Paștele - Vinerea Mare", (Holidays.on(Date.civil(2018, 4, 6), [:ro], [:informal])[0] || {})[:name]
|
13
|
+
|
14
|
+
assert_equal "Paștele - Vinerea Mare", (Holidays.on(Date.civil(2019, 4, 26), [:ro], [:informal])[0] || {})[:name]
|
15
|
+
|
10
16
|
assert_equal "Paștele - duminică", (Holidays.on(Date.civil(1961, 4, 9), [:ro], [:informal])[0] || {})[:name]
|
11
17
|
|
12
18
|
assert_equal "Paștele - luni", (Holidays.on(Date.civil(1961, 4, 10), [:ro], [:informal])[0] || {})[:name]
|
@@ -33,8 +39,16 @@ class RoDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
33
39
|
|
34
40
|
assert_equal "Anul nou", (Holidays.on(Date.civil(2014, 1, 2), [:ro], [:informal])[0] || {})[:name]
|
35
41
|
|
42
|
+
assert_equal "Unirea Principatelor Române", (Holidays.on(Date.civil(2017, 1, 24), [:ro], [:informal])[0] || {})[:name]
|
43
|
+
|
44
|
+
assert_nil (Holidays.on(Date.civil(2016, 1, 24), [:ro])[0] || {})[:name]
|
45
|
+
|
36
46
|
assert_equal "Ziua muncii", (Holidays.on(Date.civil(2009, 5, 1), [:ro], [:informal])[0] || {})[:name]
|
37
47
|
|
48
|
+
assert_equal "Ziua Copilului", (Holidays.on(Date.civil(2017, 6, 1), [:ro], [:informal])[0] || {})[:name]
|
49
|
+
|
50
|
+
assert_nil (Holidays.on(Date.civil(2016, 6, 1), [:ro])[0] || {})[:name]
|
51
|
+
|
38
52
|
assert_equal "Adormirea Maicii Domnului", (Holidays.on(Date.civil(2012, 8, 15), [:ro], [:informal])[0] || {})[:name]
|
39
53
|
|
40
54
|
assert_equal "Sfântul Apostol Andrei", (Holidays.on(Date.civil(2013, 11, 30), [:ro], [:informal])[0] || {})[:name]
|
@@ -179,11 +179,11 @@ class SouthamericaDefinitionTests < Test::Unit::TestCase # :nodoc:
|
|
179
179
|
|
180
180
|
assert_equal "Día de la Ascensión", (Holidays.on(Date.civil(2017, 5, 29), [:co])[0] || {})[:name]
|
181
181
|
|
182
|
-
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2014, 6,
|
182
|
+
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2014, 6, 23), [:co])[0] || {})[:name]
|
183
183
|
|
184
|
-
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2016, 5,
|
184
|
+
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2016, 5, 30), [:co])[0] || {})[:name]
|
185
185
|
|
186
|
-
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2017, 6,
|
186
|
+
assert_equal "Corpus Christi", (Holidays.on(Date.civil(2017, 6, 19), [:co])[0] || {})[:name]
|
187
187
|
|
188
188
|
assert_equal "Sagrado Corazón", (Holidays.on(Date.civil(2014, 6, 30), [:co])[0] || {})[:name]
|
189
189
|
|
data/test/defs/test_defs_us.rb
CHANGED
@@ -87,10 +87,6 @@ assert_equal "Presidents' Day", (Holidays.on(Date.civil(2018, 2, 19), [:us])[0]
|
|
87
87
|
assert_nil (Holidays.on(Date.civil(2018, 3, 5), [:us])[0] || {})[:name]
|
88
88
|
assert_nil (Holidays.on(Date.civil(2019, 3, 4), [:us])[0] || {})[:name]
|
89
89
|
|
90
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2017, 3, 6), [:us_il])[0] || {})[:name]
|
91
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2018, 3, 5), [:us_il])[0] || {})[:name]
|
92
|
-
assert_equal "Casimir Pulaski Day", (Holidays.on(Date.civil(2019, 3, 4), [:us_il])[0] || {})[:name]
|
93
|
-
|
94
90
|
assert_nil (Holidays.on(Date.civil(2017, 3, 7), [:us])[0] || {})[:name]
|
95
91
|
assert_nil (Holidays.on(Date.civil(2018, 3, 6), [:us])[0] || {})[:name]
|
96
92
|
assert_nil (Holidays.on(Date.civil(2019, 3, 5), [:us])[0] || {})[:name]
|
@@ -127,7 +123,7 @@ assert_equal "Seward's Day", (Holidays.on(Date.civil(2019, 3, 25), [:us_ak])[0]
|
|
127
123
|
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2022, 4, 15), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
|
128
124
|
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2028, 4, 17), [:us_dc, :us_ca], [:observed])[0] || {})[:name]
|
129
125
|
|
130
|
-
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 4, 16), [:us_dc
|
126
|
+
assert_equal "Emancipation Day", (Holidays.on(Date.civil(2017, 4, 16), [:us_dc])[0] || {})[:name]
|
131
127
|
|
132
128
|
assert_nil (Holidays.on(Date.civil(2017, 4, 17), [:us])[0] || {})[:name]
|
133
129
|
assert_nil (Holidays.on(Date.civil(2018, 4, 16), [:us])[0] || {})[:name]
|
@@ -303,9 +299,9 @@ assert_equal "Nevada Day", (Holidays.on(Date.civil(2019, 10, 25), [:us_nv])[0] |
|
|
303
299
|
assert_nil (Holidays.on(Date.civil(2018, 11, 6), [:us])[0] || {})[:name]
|
304
300
|
assert_nil (Holidays.on(Date.civil(2021, 11, 2), [:us])[0] || {})[:name]
|
305
301
|
|
306
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2017, 11, 7), [:us_de, :us_hi, :
|
307
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2018, 11, 6), [:us_de, :us_hi, :
|
308
|
-
assert_equal "Election Day", (Holidays.on(Date.civil(2021, 11, 2), [:us_de, :us_hi, :
|
302
|
+
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]
|
303
|
+
assert_equal "Election Day", (Holidays.on(Date.civil(2018, 11, 6), [:us_de, :us_hi, :us_in, :us_mt, :us_nj, :us_ny, :us_pa, :us_ri])[0] || {})[:name]
|
304
|
+
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]
|
309
305
|
|
310
306
|
assert_equal "Veterans Day", (Holidays.on(Date.civil(2017, 11, 10), [:us], [:observed])[0] || {})[:name]
|
311
307
|
assert_equal "Veterans Day", (Holidays.on(Date.civil(2018, 11, 12), [:us], [:observed])[0] || {})[:name]
|
@@ -355,9 +351,9 @@ assert_equal "Christmas Eve (Holiday)", (Holidays.on(Date.civil(2028, 12, 22), [
|
|
355
351
|
assert_nil (Holidays.on(Date.civil(2022, 12, 26), [:us])[0] || {})[:name]
|
356
352
|
assert_nil (Holidays.on(Date.civil(2027, 12, 27), [:us])[0] || {})[:name]
|
357
353
|
|
358
|
-
assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12,
|
354
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2021, 12, 24), [:us], [:observed])[0] || {})[:name]
|
359
355
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2022, 12, 26), [:us], [:observed])[0] || {})[:name]
|
360
|
-
assert_equal "Christmas Day", (Holidays.on(Date.civil(2027, 12,
|
356
|
+
assert_equal "Christmas Day", (Holidays.on(Date.civil(2027, 12, 24), [:us], [:observed])[0] || {})[:name]
|
361
357
|
|
362
358
|
assert_equal "Christmas Day", (Holidays.on(Date.civil(2017, 12, 25), [:us])[0] || {})[:name]
|
363
359
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__)) + '/../../test_helper'
|
2
2
|
|
3
|
+
require 'date'
|
3
4
|
require 'holidays/core_extensions/date'
|
4
5
|
|
5
6
|
class Date
|
@@ -114,8 +115,8 @@ class CoreExtensionDateTests < Test::Unit::TestCase
|
|
114
115
|
|
115
116
|
def test_datetime_holiday?
|
116
117
|
# in situations with activesupport
|
117
|
-
assert DateTime.
|
118
|
-
assert DateTime.
|
118
|
+
assert DateTime.civil(2008, 1, 1).to_date.holiday?('ca')
|
119
|
+
assert DateTime.civil(2008, 1, 1).holiday?('ca')
|
119
120
|
end
|
120
121
|
|
121
122
|
end
|
@@ -143,31 +143,25 @@ class GeneratorTests < Test::Unit::TestCase
|
|
143
143
|
:name => "after_year",
|
144
144
|
:regions => [:custom_year_range_file],
|
145
145
|
:mday => 1,
|
146
|
-
:year_ranges =>
|
146
|
+
:year_ranges => {:from => 2016}
|
147
147
|
},
|
148
148
|
{
|
149
149
|
:name => "before_year",
|
150
150
|
:regions => [:custom_year_range_file],
|
151
151
|
:mday => 2,
|
152
|
-
:year_ranges =>
|
152
|
+
:year_ranges => {:until => 2017}
|
153
153
|
},
|
154
154
|
{
|
155
155
|
:name => "between_year",
|
156
156
|
:regions => [:custom_year_range_file],
|
157
157
|
:mday => 3,
|
158
|
-
:year_ranges =>
|
158
|
+
:year_ranges => {:between => 2016..2018 }
|
159
159
|
},
|
160
160
|
{
|
161
161
|
:name => "limited_year",
|
162
162
|
:regions => [:custom_year_range_file],
|
163
163
|
:mday => 4,
|
164
|
-
:year_ranges =>
|
165
|
-
},
|
166
|
-
{
|
167
|
-
:name => "multiple_conditions",
|
168
|
-
:regions => [:custom_year_range_file],
|
169
|
-
:mday => 5,
|
170
|
-
:year_ranges => [{"before" => 2015}, {"after" => 2017}]
|
164
|
+
:year_ranges => {:limited => [2016,2018,2019]}
|
171
165
|
}
|
172
166
|
]
|
173
167
|
}
|
@@ -183,7 +177,7 @@ class GeneratorTests < Test::Unit::TestCase
|
|
183
177
|
|
184
178
|
@test_source_generator.expects(:call).with('test', ['test/data/test_custom_year_range_holiday_defs.yaml'], ['parsed tests']).returns('test source')
|
185
179
|
|
186
|
-
@module_source_generator.expects(:call).with("test", ["test/data/test_custom_year_range_holiday_defs.yaml"], [:custom_year_range_file], [" 6 => [{:mday => 1,
|
180
|
+
@module_source_generator.expects(:call).with("test", ["test/data/test_custom_year_range_holiday_defs.yaml"], [:custom_year_range_file], [" 6 => [{:mday => 1, :year_ranges => { :from => 2016 },:name => \"after_year\", :regions => [:custom_year_range_file]},\n {:mday => 2, :year_ranges => { :until => 2017 },:name => \"before_year\", :regions => [:custom_year_range_file]},\n {:mday => 3, :year_ranges => { :between => 2016..2018 },:name => \"between_year\", :regions => [:custom_year_range_file]},\n {:mday => 4, :year_ranges => { :limited => [2016, 2018, 2019] },:name => \"limited_year\", :regions => [:custom_year_range_file]}]"], "").returns('module_source')
|
187
181
|
|
188
182
|
regions, rules_by_month, custom_methods, tests = @generator.parse_definition_files(files)
|
189
183
|
module_src = @generator.generate_definition_source("test", files, regions, rules_by_month, custom_methods, tests)[0]
|
@@ -229,11 +223,4 @@ class GeneratorTests < Test::Unit::TestCase
|
|
229
223
|
|
230
224
|
assert_equal 'test source', test_src
|
231
225
|
end
|
232
|
-
|
233
|
-
#TODO Missing test scenarios. Adding here so I don't forget when I split this
|
234
|
-
# apart into smaller components.
|
235
|
-
#
|
236
|
-
# 1) If a year_range contains empty entries then we should blow up.
|
237
|
-
# 2) If year_range contains invalid (i.e. too many types per entry) then
|
238
|
-
# we should blow up
|
239
226
|
end
|
@@ -109,7 +109,7 @@ class HolidaysByMonthRepoTests < Test::Unit::TestCase
|
|
109
109
|
assert_equal(expected, @subject.all)
|
110
110
|
end
|
111
111
|
|
112
|
-
def
|
112
|
+
def test_add_is_successful_if_only_region_is_different_and_updates_regions_to_existing_matching_definitions
|
113
113
|
target_holidays = {0 => [:mday => 1, :name => "Test", :regions => [:test2]]}
|
114
114
|
|
115
115
|
@subject.add(@existing_holidays_by_month)
|
@@ -152,4 +152,124 @@ class HolidaysByMonthRepoTests < Test::Unit::TestCase
|
|
152
152
|
@subject.find_by_month(-1)
|
153
153
|
end
|
154
154
|
end
|
155
|
+
|
156
|
+
def test_add_is_successful_if_only_function_is_different
|
157
|
+
initial_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test], :function=>"easter(year)", :function_arguments=>[:year]}]}
|
158
|
+
|
159
|
+
@subject.add(initial_holidays)
|
160
|
+
|
161
|
+
second_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test2], :function=>"orthodox_easter(year)", :function_arguments=>[:year]}]}
|
162
|
+
@subject.add(second_holidays)
|
163
|
+
|
164
|
+
expected = {
|
165
|
+
0 => [
|
166
|
+
{
|
167
|
+
:function=>"easter(year)",
|
168
|
+
:function_arguments=>[:year],
|
169
|
+
:mday=>1,
|
170
|
+
:name=>"Test",
|
171
|
+
:regions=>[:test]
|
172
|
+
},
|
173
|
+
{
|
174
|
+
:function=>"orthodox_easter(year)",
|
175
|
+
:function_arguments=>[:year],
|
176
|
+
:mday=>1,
|
177
|
+
:name=>"Test",
|
178
|
+
:regions=>[:test2]
|
179
|
+
}
|
180
|
+
]
|
181
|
+
}
|
182
|
+
|
183
|
+
assert_equal(expected, @subject.all)
|
184
|
+
end
|
185
|
+
|
186
|
+
def test_add_is_successful_if_only_function_modifier_is_different
|
187
|
+
initial_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test], :function=>"easter(year)", :function_modifier=>1, :function_arguments=>[:year]}]}
|
188
|
+
|
189
|
+
@subject.add(initial_holidays)
|
190
|
+
|
191
|
+
second_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test2], :function=>"easter(year)", :function_modifier=>2, :function_arguments=>[:year]}]}
|
192
|
+
@subject.add(second_holidays)
|
193
|
+
|
194
|
+
expected = {
|
195
|
+
0 => [
|
196
|
+
{
|
197
|
+
:function=>"easter(year)",
|
198
|
+
:function_arguments=>[:year],
|
199
|
+
:function_modifier=>1,
|
200
|
+
:mday=>1,
|
201
|
+
:name=>"Test",
|
202
|
+
:regions=>[:test]
|
203
|
+
},
|
204
|
+
{
|
205
|
+
:function=>"easter(year)",
|
206
|
+
:function_arguments=>[:year],
|
207
|
+
:function_modifier=>2,
|
208
|
+
:mday=>1,
|
209
|
+
:name=>"Test",
|
210
|
+
:regions=>[:test2]
|
211
|
+
}
|
212
|
+
]
|
213
|
+
}
|
214
|
+
|
215
|
+
assert_equal(expected, @subject.all)
|
216
|
+
end
|
217
|
+
|
218
|
+
def test_add_is_successful_if_only_observed_is_different
|
219
|
+
initial_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test], :observed=>"to_weekday_if_weekend(year)", :function_arguments=>[:year]}]}
|
220
|
+
|
221
|
+
@subject.add(initial_holidays)
|
222
|
+
|
223
|
+
second_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test2], :observed =>"to_friday_if_saturday(year)", :function_arguments=>[:year]}]}
|
224
|
+
@subject.add(second_holidays)
|
225
|
+
|
226
|
+
expected = {
|
227
|
+
0 => [
|
228
|
+
{
|
229
|
+
:observed =>"to_weekday_if_weekend(year)",
|
230
|
+
:function_arguments=>[:year],
|
231
|
+
:mday=>1,
|
232
|
+
:name=>"Test",
|
233
|
+
:regions=>[:test]
|
234
|
+
},
|
235
|
+
{
|
236
|
+
:observed =>"to_friday_if_saturday(year)",
|
237
|
+
:function_arguments=>[:year],
|
238
|
+
:mday=>1,
|
239
|
+
:name=>"Test",
|
240
|
+
:regions=>[:test2]
|
241
|
+
}
|
242
|
+
]
|
243
|
+
}
|
244
|
+
|
245
|
+
assert_equal(expected, @subject.all)
|
246
|
+
end
|
247
|
+
|
248
|
+
def test_add_is_successful_if_only_year_ranges_is_different
|
249
|
+
initial_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test], :year_ranges => {:from => 1990}}]}
|
250
|
+
|
251
|
+
@subject.add(initial_holidays)
|
252
|
+
|
253
|
+
second_holidays = {0=> [{:mday => 1, :name=>"Test", :regions=>[:test2], :year_ranges => {:until => 2002}}]}
|
254
|
+
@subject.add(second_holidays)
|
255
|
+
|
256
|
+
expected = {
|
257
|
+
0 => [
|
258
|
+
{
|
259
|
+
:mday=>1,
|
260
|
+
:name=>"Test",
|
261
|
+
:regions=>[:test],
|
262
|
+
:year_ranges => {:from => 1990}
|
263
|
+
},
|
264
|
+
{
|
265
|
+
:mday=>1,
|
266
|
+
:name=>"Test",
|
267
|
+
:regions=>[:test2],
|
268
|
+
:year_ranges => {:until => 2002}
|
269
|
+
}
|
270
|
+
]
|
271
|
+
}
|
272
|
+
|
273
|
+
assert_equal(expected, @subject.all)
|
274
|
+
end
|
155
275
|
end
|