holidays 5.6.0 → 5.7.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 +7 -0
- data/README.md +1 -1
- data/holidays.gemspec +2 -1
- data/lib/generated_definitions/MANIFEST +8 -0
- data/lib/generated_definitions/REGIONS.rb +2 -2
- data/lib/generated_definitions/au.rb +2 -2
- data/lib/generated_definitions/de.rb +4 -4
- data/lib/generated_definitions/ee.rb +36 -0
- data/lib/generated_definitions/europe.rb +8 -4
- data/lib/generated_definitions/fr.rb +5 -3
- data/lib/generated_definitions/ge.rb +41 -0
- data/lib/generated_definitions/mt_en.rb +38 -0
- data/lib/generated_definitions/mt_mt.rb +38 -0
- data/lib/generated_definitions/north_america.rb +106 -9
- data/lib/generated_definitions/nz.rb +0 -1
- data/lib/generated_definitions/pt.rb +4 -2
- data/lib/generated_definitions/rs_cyrl.rb +39 -0
- data/lib/generated_definitions/rs_la.rb +39 -0
- data/lib/generated_definitions/ru.rb +37 -0
- data/lib/generated_definitions/tr.rb +61 -0
- data/lib/generated_definitions/us.rb +112 -15
- data/lib/holidays/version.rb +1 -1
- data/test/coverage_report.rb +4 -2
- data/test/defs/test_defs_au.rb +2 -2
- data/test/defs/test_defs_de.rb +39 -37
- data/test/defs/test_defs_ee.rb +33 -0
- data/test/defs/test_defs_europe.rb +84 -68
- data/test/defs/test_defs_fr.rb +21 -13
- data/test/defs/test_defs_ge.rb +41 -0
- data/test/defs/test_defs_mt_en.rb +32 -0
- data/test/defs/test_defs_mt_mt.rb +32 -0
- data/test/defs/test_defs_north_america.rb +244 -16
- data/test/defs/test_defs_pt.rb +24 -18
- data/test/defs/test_defs_rs_cyrl.rb +39 -0
- data/test/defs/test_defs_rs_la.rb +39 -0
- data/test/defs/test_defs_ru.rb +28 -0
- data/test/defs/test_defs_tr.rb +44 -0
- data/test/defs/test_defs_us.rb +245 -17
- data/test/integration/test_available_regions.rb +1 -1
- data/test/integration/test_holidays.rb +2 -2
- metadata +65 -26
data/test/defs/test_defs_pt.rb
CHANGED
@@ -7,26 +7,32 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
7
7
|
class PtDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
8
|
|
9
9
|
def test_pt
|
10
|
-
{Date.civil(2008,1,1) => 'Ano Novo',
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
10
|
+
{ Date.civil(2008, 1, 1) => 'Ano Novo',
|
11
|
+
Date.civil(2005, 2, 8) => 'Carnaval',
|
12
|
+
Date.civil(2006, 2, 28) => 'Carnaval',
|
13
|
+
Date.civil(2007, 2, 20) => 'Carnaval',
|
14
|
+
Date.civil(2008, 2, 5) => 'Carnaval',
|
15
|
+
Date.civil(2008, 3, 21) => 'Sexta-feira Santa',
|
16
|
+
Date.civil(2008, 3, 23) => 'Páscoa',
|
17
|
+
Date.civil(2016, 3, 27) => 'Páscoa',
|
18
|
+
Date.civil(2008, 4, 25) => 'Dia da Liberdade',
|
19
|
+
Date.civil(2008, 5, 1) => 'Dia do Trabalhador',
|
20
|
+
Date.civil(2016, 5, 26) => 'Corpo de Deus',
|
21
|
+
Date.civil(2008, 6, 10) => 'Dia de Portugal',
|
22
|
+
Date.civil(2008, 8, 15) => 'Assunção de Nossa Senhora',
|
23
|
+
Date.civil(2008, 10, 5) => 'Dia da República',
|
24
|
+
Date.civil(2008, 11, 1) => 'Dia de Todos-os-Santos',
|
25
|
+
Date.civil(2008, 12, 1) => 'Restauração da Independência',
|
26
|
+
Date.civil(2008, 12, 8) => 'Imaculada Conceição',
|
27
|
+
Date.civil(2008, 12, 25) => 'Natal' }.each do |date, name|
|
28
28
|
assert_equal name, (Holidays.on(date, :pt, :informal)[0] || {})[:name]
|
29
29
|
end
|
30
30
|
|
31
|
+
assert_nil Holidays.on(Date.civil(2017, 6, 13), [:pt])[0] || {}[:name]
|
32
|
+
assert_equal 'Dia de Santo António', Holidays.on(Date.civil(2017, 6, 13), [:pt_li])[0][:name]
|
33
|
+
|
34
|
+
assert_nil Holidays.on(Date.civil(2017, 6, 24), [:pt])[0] || {}[:name]
|
35
|
+
assert_equal 'Dia de São João', Holidays.on(Date.civil(2017, 6, 24), [:pt_po])[0][:name]
|
36
|
+
|
31
37
|
end
|
32
38
|
end
|
@@ -0,0 +1,39 @@
|
|
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/rs_cyrl.yaml
|
7
|
+
class Rs_cyrlDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_rs_cyrl
|
10
|
+
{ Date.civil(2017, 1, 1) => 'Нова Година',
|
11
|
+
Date.civil(2017, 1, 2) => 'Нова Година',
|
12
|
+
Date.civil(2017, 1, 7) => 'Божић',
|
13
|
+
Date.civil(2017, 1, 27) => 'Свети Сава (Савиндан)',
|
14
|
+
Date.civil(2017, 2, 15) => 'Дан државности Србије',
|
15
|
+
Date.civil(2017, 2, 16) => 'Дан државности Србије',
|
16
|
+
Date.civil(2017, 5, 1) => 'Празник рада',
|
17
|
+
Date.civil(2017, 5, 2) => 'Празник рада',
|
18
|
+
Date.civil(2017, 5, 9) => 'Дан победе над фашизмом',
|
19
|
+
Date.civil(2017, 6, 28) => 'Видовдан',
|
20
|
+
Date.civil(2017, 11, 11) => 'Дан примирја'
|
21
|
+
}.each do |date, name|
|
22
|
+
assert_equal name, (Holidays.on(date, :rs_cyrl)[0] || {})[:name]
|
23
|
+
end
|
24
|
+
|
25
|
+
[Date.civil(2017, 4, 14), Date.civil(2018, 4, 6), Date.civil(2019, 4, 26)].each do |date|
|
26
|
+
assert_equal 'Велики петак', Holidays.on(date, :rs_cyrl)[0][:name]
|
27
|
+
end
|
28
|
+
[Date.civil(2017, 4, 15), Date.civil(2018, 4, 7), Date.civil(2019, 4, 27)].each do |date|
|
29
|
+
assert_equal 'Велика Субота', Holidays.on(date, :rs_cyrl)[0][:name]
|
30
|
+
end
|
31
|
+
[Date.civil(2017, 4, 16), Date.civil(2018, 4, 8), Date.civil(2019, 4, 28)].each do |date|
|
32
|
+
assert_equal 'Васкрс', Holidays.on(date, :rs_cyrl)[0][:name]
|
33
|
+
end
|
34
|
+
[Date.civil(2017, 4, 17), Date.civil(2018, 4, 9), Date.civil(2019, 4, 29)].each do |date|
|
35
|
+
assert_equal 'Васкрсни понедељак', Holidays.on(date, :rs_cyrl)[0][:name]
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
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/rs_la.yaml
|
7
|
+
class Rs_laDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_rs_la
|
10
|
+
{ Date.civil(2017, 1, 1) => 'Nova Godina',
|
11
|
+
Date.civil(2017, 1, 2) => 'Nova Godina',
|
12
|
+
Date.civil(2017, 1, 7) => 'Božić',
|
13
|
+
Date.civil(2017, 1, 27) => 'Dan Svetog Save',
|
14
|
+
Date.civil(2017, 2, 15) => 'Dan državnosti Srbije',
|
15
|
+
Date.civil(2017, 2, 16) => 'Dan državnosti Srbije',
|
16
|
+
Date.civil(2017, 5, 1) => 'Praznik rada',
|
17
|
+
Date.civil(2017, 5, 2) => 'Praznik rada',
|
18
|
+
Date.civil(2017, 5, 9) => 'Dan pobede',
|
19
|
+
Date.civil(2017, 6, 28) => 'Vidovdan',
|
20
|
+
Date.civil(2017, 11, 11) => 'Dan primirja'
|
21
|
+
}.each do |date, name|
|
22
|
+
assert_equal name, (Holidays.on(date, :rs_la)[0] || {})[:name]
|
23
|
+
end
|
24
|
+
|
25
|
+
[Date.civil(2017, 4, 14), Date.civil(2018, 4, 6), Date.civil(2019, 4, 26)].each do |date|
|
26
|
+
assert_equal 'Veliki Petak', Holidays.on(date, :rs_la)[0][:name]
|
27
|
+
end
|
28
|
+
[Date.civil(2017, 4, 15), Date.civil(2018, 4, 7), Date.civil(2019, 4, 27)].each do |date|
|
29
|
+
assert_equal 'Velika Subota', Holidays.on(date, :rs_la)[0][:name]
|
30
|
+
end
|
31
|
+
[Date.civil(2017, 4, 16), Date.civil(2018, 4, 8), Date.civil(2019, 4, 28)].each do |date|
|
32
|
+
assert_equal 'Uskrs', Holidays.on(date, :rs_la)[0][:name]
|
33
|
+
end
|
34
|
+
[Date.civil(2017, 4, 17), Date.civil(2018, 4, 9), Date.civil(2019, 4, 29)].each do |date|
|
35
|
+
assert_equal 'Vaskrsni ponedeljak', Holidays.on(date, :rs_la)[0][:name]
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,28 @@
|
|
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/ru.yaml
|
7
|
+
class RuDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_ru
|
10
|
+
{ Date.civil(2017, 1, 1) => 'Новый год',
|
11
|
+
Date.civil(2017, 1, 2) => 'Новогодний праздник',
|
12
|
+
Date.civil(2017, 1, 3) => 'Новогодний праздник',
|
13
|
+
Date.civil(2017, 1, 4) => 'Новогодний праздник',
|
14
|
+
Date.civil(2017, 1, 5) => 'Новогодний праздник',
|
15
|
+
Date.civil(2017, 1, 7) => 'Рождество Христово',
|
16
|
+
Date.civil(2017, 2, 23) => 'День защитника Отечества',
|
17
|
+
Date.civil(2017, 3, 8) => 'Международный женский день',
|
18
|
+
Date.civil(2017, 5, 1) => 'Праздник Весны и Труда',
|
19
|
+
Date.civil(2017, 5, 9) => 'День Победы',
|
20
|
+
Date.civil(2017, 6, 12) => 'День России',
|
21
|
+
Date.civil(2017, 8, 22) => 'День Государственного флага Российской Федерации',
|
22
|
+
Date.civil(2017, 11, 4) => 'День народного единства'
|
23
|
+
}.each do |date, name|
|
24
|
+
assert_equal name, (Holidays.on(date, :ru)[0] || {})[:name]
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,44 @@
|
|
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/tr.yaml
|
7
|
+
class TrDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
|
+
|
9
|
+
def test_tr
|
10
|
+
{ Date.civil(2017, 1, 1) => 'Yılbaşı',
|
11
|
+
Date.civil(2017, 4, 23) => 'Ulusal Egemenlik ve Çocuk Bayramı',
|
12
|
+
Date.civil(2017, 5, 1) => 'Emek ve Dayanışma Günü',
|
13
|
+
Date.civil(2017, 5, 19) => "Atatürk'ü Anma Gençlik ve Spor Bayramı",
|
14
|
+
Date.civil(2017, 8, 30) => 'Zafer Bayramı',
|
15
|
+
Date.civil(2017, 10, 29) => 'Cumhuriyet Bayramı'
|
16
|
+
}.each do |date, name|
|
17
|
+
assert_equal name, (Holidays.on(date, :tr)[0] || {})[:name]
|
18
|
+
end
|
19
|
+
|
20
|
+
[Date.civil(2017, 6, 25), Date.civil(2018, 6, 15), Date.civil(2019, 6, 4)].each do |date|
|
21
|
+
assert_equal 'Ramazan Bayramı', Holidays.on(date, :tr)[0][:name]
|
22
|
+
end
|
23
|
+
[Date.civil(2017, 6, 26), Date.civil(2018, 6, 16), Date.civil(2019, 6, 5)].each do |date|
|
24
|
+
assert_equal 'Ramazan Bayramı (ikinci tatil)', Holidays.on(date, :tr)[0][:name]
|
25
|
+
end
|
26
|
+
[Date.civil(2017, 6, 27), Date.civil(2018, 6, 17), Date.civil(2019, 6, 6)].each do |date|
|
27
|
+
assert_equal 'Ramazan Bayramı (üçüncü tatil)', Holidays.on(date, :tr)[0][:name]
|
28
|
+
end
|
29
|
+
|
30
|
+
[Date.civil(2017, 9, 1), Date.civil(2018, 8, 21), Date.civil(2019, 8, 11)].each do |date|
|
31
|
+
assert_equal 'Kurban Bayramı', Holidays.on(date, :tr)[0][:name]
|
32
|
+
end
|
33
|
+
[Date.civil(2017, 9, 2), Date.civil(2018, 8, 22), Date.civil(2019, 8, 12)].each do |date|
|
34
|
+
assert_equal 'Kurban Bayramı (ikinci tatil)', Holidays.on(date, :tr)[0][:name]
|
35
|
+
end
|
36
|
+
[Date.civil(2017, 9, 3), Date.civil(2018, 8, 23), Date.civil(2019, 8, 13)].each do |date|
|
37
|
+
assert_equal 'Kurban Bayramı (üçüncü tatil)', Holidays.on(date, :tr)[0][:name]
|
38
|
+
end
|
39
|
+
[Date.civil(2017, 9, 4), Date.civil(2018, 8, 24), Date.civil(2019, 8, 14)].each do |date|
|
40
|
+
assert_equal 'Kurban Bayramı (dördüncü tatil)', Holidays.on(date, :tr)[0][:name]
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
data/test/defs/test_defs_us.rb
CHANGED
@@ -7,24 +7,252 @@ require File.expand_path(File.dirname(__FILE__)) + '/../test_helper'
|
|
7
7
|
class UsDefinitionTests < Test::Unit::TestCase # :nodoc:
|
8
8
|
|
9
9
|
def test_us
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
Date.civil(2008,7,4) => 'Independence Day',
|
15
|
-
Date.civil(2008,9,1) => 'Labor Day',
|
16
|
-
Date.civil(2008,10,13) => 'Columbus Day',
|
17
|
-
Date.civil(2008,11,11) => 'Veterans Day',
|
18
|
-
Date.civil(2008,11,27) => 'Thanksgiving',
|
19
|
-
Date.civil(2013,11,28) => 'Thanksgiving',
|
20
|
-
Date.civil(2008,12,25) => 'Christmas Day'}.each do |date, name|
|
21
|
-
assert_equal name, (Holidays.on(date, :us)[0] || {})[:name]
|
22
|
-
end
|
23
|
-
{Date.civil(2008, 3, 31) => 'Cesar Chavez Day',
|
24
|
-
Date.civil(2008, 11, 28) => 'Day after Thanksgiving',
|
25
|
-
Date.civil(2013, 11, 29) => 'Day after Thanksgiving'}.each do |date, name|
|
26
|
-
assert_equal name, (Holidays.on(date, :us, :us_ca)[0] || {})[:name]
|
10
|
+
[Date.civil(2017, 2, 28), Date.civil(2018, 2, 13), Date.civil(2019, 3, 5)].each do |date|
|
11
|
+
assert_equal [], Holidays.on(date, [:us])
|
12
|
+
assert_equal 'Shrove Tuesday', Holidays.on(date, [:us_fl])[0][:name]
|
13
|
+
assert_equal 'Mardi Gras Day', Holidays.on(date, [:us_la])[0][:name]
|
27
14
|
end
|
15
|
+
states_good_friday = %i{us_ct us_de us_gu us_hi us_in us_ky us_la us_nj us_nc us_nd us_pr us_tn}
|
16
|
+
[Date.civil(2017, 4, 14), Date.civil(2018, 3, 30), Date.civil(2019, 4, 19)].each do |date|
|
17
|
+
assert_equal [], Holidays.on(date, [:us])
|
18
|
+
assert_equal 'Good Friday', Holidays.on(date, :us, :informal)[0][:name]
|
19
|
+
assert_equal 'Good Friday', Holidays.on(date, states_good_friday)[0][:name]
|
20
|
+
end
|
21
|
+
[Date.civil(2017, 4, 16), Date.civil(2018, 4, 1), Date.civil(2019, 4, 21)].each do |date|
|
22
|
+
assert_equal [], Holidays.on(date, [:us])
|
23
|
+
assert_equal 'Easter Sunday', Holidays.on(date, :us, :informal)[0][:name]
|
24
|
+
end
|
25
|
+
|
26
|
+
assert_equal "New Year's Day", Holidays.on(Date.civil(2017, 1, 1), [:us])[0][:name]
|
27
|
+
assert_equal "New Year's Day", Holidays.on(Date.civil(2017, 1, 2), :observed, [:us])[0][:name]
|
28
|
+
|
29
|
+
[Date.civil(2017, 1, 16), Date.civil(2018, 1, 15), Date.civil(2019, 1, 21)].each do |date|
|
30
|
+
assert_equal 'Martin Luther King, Jr. Day', Holidays.on(date, [:us])[0][:name]
|
31
|
+
end
|
32
|
+
[Date.civil(2016, 1, 18), Date.civil(2017, 1, 16), Date.civil(2018, 1, 15)].each do |date|
|
33
|
+
assert_equal 'Martin Luther King, Jr. Day', Holidays.on(date, [:us])[0][:name]
|
34
|
+
assert_equal "Martin Luther King's and Robert E. Lee's Birthdays", Holidays.on(date, [:us_ms])[0][:name]
|
35
|
+
end
|
36
|
+
[Date.civil(2016, 1, 18), Date.civil(2017, 1, 16), Date.civil(2018, 1, 15)].each do |date|
|
37
|
+
assert_equal 'Martin Luther King, Jr. Day', Holidays.on(date, [:us])[0][:name]
|
38
|
+
assert_equal 'Idaho Human Rights Day', Holidays.on(date, [:us_id])[0][:name]
|
39
|
+
end
|
40
|
+
[Date.civil(2016, 1, 18), Date.civil(2017, 1, 16), Date.civil(2018, 1, 15)].each do |date|
|
41
|
+
assert_equal 'Martin Luther King, Jr. Day', Holidays.on(date, [:us])[0][:name]
|
42
|
+
assert_equal 'Civil Rights Day', Holidays.on(date, [:us_ar])[0][:name]
|
43
|
+
end
|
44
|
+
|
45
|
+
states_inauguration = %i{us_tx us_dc us_la us_md us_va}
|
46
|
+
[Date.civil(2017, 1, 20), Date.civil(2021, 1, 20)].each do |date|
|
47
|
+
assert_equal [], Holidays.on(date, [:us])
|
48
|
+
assert_equal 'Inauguration Day', Holidays.on(date, states_inauguration)[0][:name]
|
49
|
+
end
|
50
|
+
assert_equal 'Inauguration Day', Holidays.on(Date.civil(2025, 1, 20), states_inauguration)[1][:name]
|
51
|
+
|
52
|
+
[Date.civil(2017, 1, 13), Date.civil(2018, 1, 12), Date.civil(2019, 1, 18)].each do |date|
|
53
|
+
assert_equal [], Holidays.on(date, [:us])
|
54
|
+
assert_equal 'Lee-Jackson Day', Holidays.on(date, [:us_va])[0][:name]
|
55
|
+
end
|
56
|
+
|
57
|
+
assert_equal 'Confederate Heroes Day', Holidays.on(Date.civil(2017, 1, 19), [:us_tx])[0][:name]
|
58
|
+
|
59
|
+
[Date.civil(2008, 2, 18), Date.civil(2017, 2, 20), Date.civil(2018, 2, 19)].each do |date|
|
60
|
+
assert_equal "Presidents' Day", Holidays.on(date, [:us])[0][:name]
|
61
|
+
end
|
62
|
+
[Date.civil(2017, 3, 6), Date.civil(2018, 3, 5), Date.civil(2019, 3, 4)].each do |date|
|
63
|
+
assert_equal [], Holidays.on(date, [:us])
|
64
|
+
assert_equal 'Casimir Pulaski Day', Holidays.on(date, [:us_il])[0][:name]
|
65
|
+
end
|
66
|
+
[Date.civil(2017, 3, 7), Date.civil(2018, 3, 6), Date.civil(2019, 3, 5)].each do |date|
|
67
|
+
assert_equal [], Holidays.on(date, [:us])
|
68
|
+
assert_equal 'Town Meeting Day', Holidays.on(date, [:us_vt])[0][:name]
|
69
|
+
end
|
70
|
+
|
71
|
+
assert_equal 'Texas Independence Day', Holidays.on(Date.civil(2017, 3, 2), [:us_tx])[0][:name]
|
72
|
+
|
73
|
+
[Date.civil(2017, 3, 27), Date.civil(2018, 3, 26), Date.civil(2022, 3, 25)].each do |date|
|
74
|
+
assert_equal [], Holidays.on(date, [:us])
|
75
|
+
assert_equal 'Prince Jonah Kuhio Kalanianaole Day', Holidays.on(date, [:us_hi], :observed)[0][:name]
|
76
|
+
end
|
77
|
+
assert_equal [], Holidays.on(Date.civil(2017, 3, 26), [:us])
|
78
|
+
assert_equal 'Prince Jonah Kuhio Kalanianaole Day', Holidays.on(Date.civil(2017, 3, 26), [:us_hi])[0][:name]
|
79
|
+
|
80
|
+
[Date.civil(2017, 3, 27), Date.civil(2018, 3, 26), Date.civil(2019, 3, 25)].each do |date|
|
81
|
+
assert_equal [], Holidays.on(date, [:us])
|
82
|
+
assert_equal "Seward's Day", Holidays.on(date, [:us_ak])[0][:name]
|
83
|
+
end
|
84
|
+
|
85
|
+
assert_equal 'César Chávez Day', Holidays.on(Date.civil(2017, 3, 31), [:us_ca])[0][:name]
|
86
|
+
|
87
|
+
[Date.civil(2023, 4, 17), Date.civil(2022, 4, 15), Date.civil(2028, 4, 17)].each do |date|
|
88
|
+
assert_equal 'Emancipation Day', Holidays.on(date, [:us_dc, :us_ca], :observed)[0][:name]
|
89
|
+
end
|
90
|
+
assert_equal 'Emancipation Day', Holidays.on(Date.civil(2017, 4, 16), [:us_dc, :us_ca])[0][:name]
|
91
|
+
|
92
|
+
[Date.civil(2017, 4, 17), Date.civil(2018, 4, 16), Date.civil(2019, 4, 15)].each do |date|
|
93
|
+
assert_equal [], Holidays.on(date, [:us])
|
94
|
+
assert_equal "Patriots' Day", Holidays.on(date, [:us_me, :us_ma])[0][:name]
|
95
|
+
end
|
96
|
+
|
97
|
+
assert_equal 'San Jacinto Day', Holidays.on(Date.civil(2017, 4, 21), [:us_tx])[0][:name]
|
98
|
+
|
99
|
+
[Date.civil(2017, 4, 24), Date.civil(2018, 4, 30), Date.civil(2019, 4, 29)].each do |date|
|
100
|
+
assert_equal [], Holidays.on(date, [:us])
|
101
|
+
assert_equal 'Confederate Memorial Day', Holidays.on(date, [:us_al, :us_ms])[0][:name]
|
102
|
+
end
|
103
|
+
[Date.civil(2015, 4, 27), Date.civil(2020, 4, 27), Date.civil(2026, 4, 27)].each do |date|
|
104
|
+
assert_equal [], Holidays.on(Date.civil(2020, 4, 27), [:us])
|
105
|
+
assert_equal 'Confederate Memorial Day', Holidays.on(Date.civil(2020, 4, 27), [:us_fl], :observed)[0][:name]
|
106
|
+
end
|
107
|
+
assert_equal [], Holidays.on(Date.civil(2017, 4, 26), [:us])
|
108
|
+
assert_equal 'Confederate Memorial Day', Holidays.on(Date.civil(2017, 4, 26), [:us_fl])[0][:name]
|
109
|
+
|
110
|
+
[Date.civil(2015, 4, 20), Date.civil(2021, 4, 26)].each do |date|
|
111
|
+
assert_equal [], Holidays.on(Date.civil(2015, 4, 20), [:us])
|
112
|
+
assert_equal 'State Holiday', Holidays.on(date, [:us_ga])[0][:name]
|
113
|
+
end
|
114
|
+
|
115
|
+
assert_equal 'Arbor Day', Holidays.on(Date.civil(2017, 4, 28), [:us_ne])[0][:name]
|
116
|
+
assert_equal 'Truman Day', Holidays.on(Date.civil(2017, 5, 8), [:us_mo])[0][:name]
|
117
|
+
assert_equal 'Confederate Memorial Day', Holidays.on(Date.civil(2017, 5, 10), [:us_sc])[0][:name]
|
118
|
+
|
119
|
+
[Date.civil(2017, 5, 29), Date.civil(2018, 5, 28), Date.civil(2019, 5, 27)].each do |date|
|
120
|
+
assert_equal 'Memorial Day', Holidays.on(date, [:us])[0][:name]
|
121
|
+
end
|
122
|
+
|
123
|
+
[Date.civil(2017, 6, 5), Date.civil(2018, 6, 4), Date.civil(2019, 6, 3)].each do |date|
|
124
|
+
assert_equal [], Holidays.on(date, [:us])
|
125
|
+
assert_equal "Jefferson Davis' Birthday", Holidays.on(date, [:us_al])[0][:name]
|
126
|
+
end
|
127
|
+
assert_equal 'Birthday of Jefferson Davis', Holidays.on(Date.civil(2017, 6, 3), [:us_fl])[0][:name]
|
128
|
+
|
129
|
+
[Date.civil(2017, 6, 12), Date.civil(2018, 6, 11), Date.civil(2022, 6, 10)].each do |date|
|
130
|
+
assert_equal [], Holidays.on(date, [:us])
|
131
|
+
assert_equal 'King Kamehameha I Day', Holidays.on(date, [:us_hi], :observed)[0][:name]
|
132
|
+
end
|
133
|
+
assert_equal [], Holidays.on(Date.civil(2017, 6, 11), [:us])
|
134
|
+
assert_equal 'King Kamehameha I Day', Holidays.on(Date.civil(2017, 6, 11), [:us_hi])[0][:name]
|
135
|
+
|
136
|
+
assert_equal 'Emancipation Day in Texas', Holidays.on(Date.civil(2017, 6, 19), [:us_tx])[0][:name]
|
137
|
+
|
138
|
+
[Date.civil(2017, 6, 20), Date.civil(2020, 6, 19), Date.civil(2021, 6, 21)].each do |date|
|
139
|
+
assert_equal [], Holidays.on(date, [:us])
|
140
|
+
assert_equal 'West Virginia Day', Holidays.on(date, [:us_wv], :observed)[0][:name]
|
141
|
+
end
|
142
|
+
assert_equal [], Holidays.on(Date.civil(2017, 6, 20), [:us])
|
143
|
+
assert_equal 'West Virginia Day', Holidays.on(Date.civil(2017, 6, 20), [:us_wv])[0][:name]
|
144
|
+
|
145
|
+
assert_equal 'Emancipation Day', Holidays.on(Date.civil(2017, 7, 3), [:us_vi])[0][:name]
|
146
|
+
|
147
|
+
[Date.civil(2020, 7, 4), Date.civil(2021, 7, 4), Date.civil(2026, 7, 4)].each do |date|
|
148
|
+
assert_equal 'Independence Day', Holidays.on(date, [:us])[0][:name]
|
149
|
+
assert_equal 'Independence Day', Holidays.on(date, [:us_va])[0][:name]
|
150
|
+
end
|
151
|
+
[Date.civil(2020, 7, 3), Date.civil(2021, 7, 5), Date.civil(2026, 7, 3)].each do |date|
|
152
|
+
assert_equal [], Holidays.on(date, [:us])
|
153
|
+
assert_equal 'Independence Day (Holiday)', Holidays.on(date, [:us_va])[0][:name]
|
154
|
+
end
|
155
|
+
|
156
|
+
assert_equal 'Pioneer Day', Holidays.on(Date.civil(2017, 7, 24), [:us_ut])[0][:name]
|
157
|
+
|
158
|
+
[Date.civil(2017, 8, 14), Date.civil(2020, 8, 10), Date.civil(2021, 8, 9)].each do |date|
|
159
|
+
assert_equal [], Holidays.on(date, [:us])
|
160
|
+
assert_equal 'Victory Day', Holidays.on(date, [:us_ri])[0][:name]
|
161
|
+
end
|
162
|
+
|
163
|
+
[Date.civil(2017, 8, 16), Date.civil(2020, 8, 17), Date.civil(2025, 8, 15)].each do |date|
|
164
|
+
assert_equal [], Holidays.on(date, [:us])
|
165
|
+
assert_equal 'Bennington Battle Day', Holidays.on(date, [:us_vt], :observed)[0][:name]
|
166
|
+
end
|
167
|
+
assert_equal [], Holidays.on(Date.civil(2017, 8, 16), [:us])
|
168
|
+
assert_equal 'Bennington Battle Day', Holidays.on(Date.civil(2017, 8, 16), [:us_vt])[0][:name]
|
169
|
+
|
170
|
+
[Date.civil(2017, 8, 18), Date.civil(2020, 8, 21), Date.civil(2025, 8, 15)].each do |date|
|
171
|
+
assert_equal [], Holidays.on(date, [:us])
|
172
|
+
assert_equal 'Statehood Day', Holidays.on(date, [:us_hi])[0][:name]
|
173
|
+
end
|
174
|
+
|
175
|
+
assert_equal 'Lyndon Baines Johnson Day', Holidays.on(Date.civil(2017, 8, 27), [:us_tx])[0][:name]
|
176
|
+
|
177
|
+
[Date.civil(2017, 9, 4), Date.civil(2018, 9, 3), Date.civil(2019, 9, 2)].each do |date|
|
178
|
+
assert_equal 'Labor Day', Holidays.on(date, [:us])[0][:name]
|
179
|
+
end
|
180
|
+
[Date.civil(2017, 9, 21), Date.civil(2018, 9, 10), Date.civil(2019, 9, 30)].each do |date|
|
181
|
+
assert_equal [], Holidays.on(date, [:us])
|
182
|
+
assert_equal 'Rosh Hashanah', Holidays.on(date, [:us_tx])[0][:name]
|
183
|
+
end
|
184
|
+
[Date.civil(2017, 9, 30), Date.civil(2018, 9, 19), Date.civil(2019, 10, 9)].each do |date|
|
185
|
+
assert_equal [], Holidays.on(date, [:us])
|
186
|
+
assert_equal 'Yom Kippur', Holidays.on(date, [:us_tx])[0][:name]
|
187
|
+
end
|
188
|
+
|
189
|
+
states_columbus_day_formal =
|
190
|
+
%i{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
|
191
|
+
us_nj us_nm us_ny us_oh us_pa us_ri us_ut us_va us_wv}
|
192
|
+
states_columbus_day_informal =
|
193
|
+
%i{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}
|
194
|
+
|
195
|
+
[Date.civil(2017, 10, 9), Date.civil(2018, 10, 8), Date.civil(2019, 10, 14)].each do |date|
|
196
|
+
assert_equal [], Holidays.on(date, [:us])
|
197
|
+
assert_equal [], Holidays.on(date, states_columbus_day_informal)
|
198
|
+
assert_equal 'Columbus Day', Holidays.on(date, states_columbus_day_formal)[0][:name]
|
199
|
+
assert_equal 'Columbus Day', Holidays.on(date, states_columbus_day_informal, :informal)[0][:name]
|
200
|
+
end
|
201
|
+
|
202
|
+
assert_equal 'Alaska Day', Holidays.on(Date.civil(2017, 10, 18), [:us_ak])[0][:name]
|
203
|
+
|
204
|
+
[Date.civil(2017, 10, 27), Date.civil(2018, 10, 26), Date.civil(2019, 10, 25)].each do |date|
|
205
|
+
assert_equal [], Holidays.on(date, [:us])
|
206
|
+
assert_equal 'Nevada Day', Holidays.on(date, :us_nv)[0][:name]
|
207
|
+
end
|
208
|
+
|
209
|
+
states_election_day = %i{us_de us_hi us_il us_in us_mt us_nj us_ny us_pa us_ri}
|
210
|
+
[Date.civil(2017, 11, 7), Date.civil(2018, 11, 6), Date.civil(2021, 11, 2)].each do |date|
|
211
|
+
assert_equal [], Holidays.on(date, [:us])
|
212
|
+
assert_equal 'Election Day', Holidays.on(date, states_election_day)[0][:name]
|
213
|
+
end
|
214
|
+
|
215
|
+
[Date.civil(2017, 11, 10), Date.civil(2018, 11, 12), Date.civil(2019, 11, 11)].each do |date|
|
216
|
+
assert_equal 'Veterans Day', Holidays.on(date, [:us], :observed)[0][:name]
|
217
|
+
end
|
218
|
+
assert_equal 'Veterans Day', Holidays.on(Date.civil(2017, 11, 11), [:us])[0][:name]
|
219
|
+
|
220
|
+
[Date.civil(2017, 11, 23), Date.civil(2018, 11, 22), Date.civil(2019, 11, 28)].each do |date|
|
221
|
+
assert_equal 'Thanksgiving', Holidays.on(date, [:us])[0][:name]
|
222
|
+
end
|
223
|
+
|
224
|
+
states_black_friday =
|
225
|
+
%i{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
|
226
|
+
us_sc us_ok us_tn us_tx us_va us_wa us_wv}
|
227
|
+
|
228
|
+
[Date.civil(2017, 11, 24), Date.civil(2018, 11, 23), Date.civil(2019, 11, 29)].each do |date|
|
229
|
+
assert_equal [], Holidays.on(date, [:us])
|
230
|
+
assert_equal 'Family Day', Holidays.on(date, [:us_nv])[0][:name]
|
231
|
+
assert_equal 'State Holiday', Holidays.on(date, [:us_ga])[0][:name]
|
232
|
+
assert_equal "Presidents' Day", Holidays.on(date, [:us_nm])[0][:name]
|
233
|
+
assert_equal "Lincoln's Birthday", Holidays.on(date, [:us_in])[0][:name]
|
234
|
+
assert_equal 'American Indian Heritage Day', Holidays.on(date, [:us_md])[0][:name]
|
235
|
+
assert_equal 'Day after Thanksgiving (Black Friday)', Holidays.on(date, states_black_friday)[0][:name]
|
236
|
+
end
|
237
|
+
|
238
|
+
states_xmas_eve = %i{us_ar us_mi us_nc us_sc us_tx us_wi}
|
239
|
+
states_xmas_eve_holiday = %i{us_mi us_sc us_va}
|
240
|
+
[Date.civil(2022, 12, 23), Date.civil(2023, 12, 22), Date.civil(2028, 12, 22)].each do |date|
|
241
|
+
assert_equal 'Christmas Eve (Holiday)', Holidays.on(date, states_xmas_eve_holiday)[0][:name]
|
242
|
+
end
|
243
|
+
assert_equal 'Christmas Eve', Holidays.on(Date.civil(2017, 12, 24), states_xmas_eve)[0][:name]
|
244
|
+
assert_equal 'Christmas Eve', Holidays.on(Date.civil(2017, 12, 24), states_xmas_eve_holiday)[0][:name]
|
245
|
+
|
246
|
+
[Date.civil(2021, 12, 27), Date.civil(2022, 12, 26), Date.civil(2027, 12, 27)].each do |date|
|
247
|
+
assert_equal [], Holidays.on(date, [:us])
|
248
|
+
assert_equal 'Christmas Day', Holidays.on(date, [:us], :observed)[0][:name]
|
249
|
+
end
|
250
|
+
assert_equal 'Christmas Day', Holidays.on(Date.civil(2017, 12, 25), [:us])[0][:name]
|
251
|
+
|
252
|
+
states_day_after_christmas = %i{us_ar us_nc us_ok us_sc us_tn us_tx}
|
253
|
+
assert_equal 'Day after Christmas', Holidays.on(Date.civil(2017, 12, 26), states_day_after_christmas)[0][:name]
|
254
|
+
|
255
|
+
assert_equal "New Year's Eve", Holidays.on(Date.civil(2017, 12, 31), [:us_mi, :us_wi])[0][:name]
|
28
256
|
|
29
257
|
|
30
258
|
{Date.civil(2013,2,2) => 'Groundhog Day',
|