holidays 5.6.0 → 5.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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',
|