From 0425aa457d61055406543ddd24fb73903e3d619d Mon Sep 17 00:00:00 2001 From: Tiago Carvalho Date: Tue, 13 Dec 2016 11:35:56 +0000 Subject: [PATCH 1/5] Portugal Holidays --- lib/Checkdomain/Holiday/Provider/PT.php | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lib/Checkdomain/Holiday/Provider/PT.php diff --git a/lib/Checkdomain/Holiday/Provider/PT.php b/lib/Checkdomain/Holiday/Provider/PT.php new file mode 100644 index 0000000..8f99bca --- /dev/null +++ b/lib/Checkdomain/Holiday/Provider/PT.php @@ -0,0 +1,41 @@ + + */ +class PT extends AbstractEaster +{ + + /** + * @param int $year + * + * @return mixed + */ + public function getHolidaysByYear($year) + { + $easter = $this->getEasterDates($year); + + $holidays = array( + '01-01' => $this->createData('Ano Novo'), + '04-25' => $this->createData('25 de Abril'), + '05-01' => $this->createData('Dia do Trabalhador'), + '06-10' => $this->createData('Dia de Portugal'), + '06-15' => $this->createData('Corpo de Deus'), + '08-15' => $this->createData('Assunção de Nossa Senhora'), + '10-05' => $this->createData('Implantação da República'), + '11-01' => $this->createData('Dia de Todos os Santos'), + '12-01' => $this->createData('Restauração da Independência'), + '12-08' => $this->createData('Dia da Imaculada Conceição'), + '12-25' => $this->createData('Natal'), + // Variable dates + $easter['goodFriday']->format(self::DATE_FORMAT) => $this->createData('Sexta-Feira Santa'), + $easter['easterSunday']->format(self::DATE_FORMAT) => $this->createData('Páscoa'), + ); + + return $holidays; + } +} From 94597a2ba799e69bacb31448ae2421be27c00eb6 Mon Sep 17 00:00:00 2001 From: Danubio Date: Tue, 13 Dec 2016 23:13:33 +0000 Subject: [PATCH 2/5] Adding support from 2013 to 2017 and Tests --- lib/Checkdomain/Holiday/Provider/PT.php | 11 ++-- tests/Checkdomain/Holiday/Provider/PTTest.php | 50 +++++++++++++++++++ 2 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 tests/Checkdomain/Holiday/Provider/PTTest.php diff --git a/lib/Checkdomain/Holiday/Provider/PT.php b/lib/Checkdomain/Holiday/Provider/PT.php index 8f99bca..47ddd56 100644 --- a/lib/Checkdomain/Holiday/Provider/PT.php +++ b/lib/Checkdomain/Holiday/Provider/PT.php @@ -24,17 +24,20 @@ public function getHolidaysByYear($year) '04-25' => $this->createData('25 de Abril'), '05-01' => $this->createData('Dia do Trabalhador'), '06-10' => $this->createData('Dia de Portugal'), - '06-15' => $this->createData('Corpo de Deus'), '08-15' => $this->createData('Assunção de Nossa Senhora'), - '10-05' => $this->createData('Implantação da República'), - '11-01' => $this->createData('Dia de Todos os Santos'), - '12-01' => $this->createData('Restauração da Independência'), '12-08' => $this->createData('Dia da Imaculada Conceição'), '12-25' => $this->createData('Natal'), // Variable dates $easter['goodFriday']->format(self::DATE_FORMAT) => $this->createData('Sexta-Feira Santa'), $easter['easterSunday']->format(self::DATE_FORMAT) => $this->createData('Páscoa'), ); + //add holidays post 2015 + if ($year >= 2016) { + $holidays['05-26'] = $this->createData('Corpo de Deus'); + $holidays['10-05'] = $this->createData('Implantação da República'); + $holidays['11-01'] = $this->createData('Dia de Todos os Santos'); + $holidays['12-01'] = $this->createData('Restauração da Independência'); + } return $holidays; } diff --git a/tests/Checkdomain/Holiday/Provider/PTTest.php b/tests/Checkdomain/Holiday/Provider/PTTest.php new file mode 100644 index 0000000..9cc9902 --- /dev/null +++ b/tests/Checkdomain/Holiday/Provider/PTTest.php @@ -0,0 +1,50 @@ + + */ +namespace Checkdomain\Holiday\Provider; + +/** + * Class PTTest + */ +class PTTest extends AbstractTest +{ + /** + * {@inheritDoc} + */ + public function setUp() + { + $this->provider = new PT(); + } + + /** + * Provides some test dates and the expectation + * + * @return array + */ + public function dateProvider() + { + return array( + array('01.01.2010', null, array('name' => 'Ano Novo')), + + array('26.05.2013', null, null), + array('25.04.2013', null, array('name' => '25 de Abril')), + + array('05.10.2014', null, null), + array('01.05.2014', null, array('name' => 'Dia do Trabalhador')), + + array('01.12.2015', null, null), + array('15.08.2015', null, array('name' => 'Santo Stefano')), + + array('01.01.2016', null, null), + array('01.11.2016', null, array('name' => 'Dia de Todos os Santos')), + array('25.12.2016', null, array('name' => 'Natal')), + + array('03.09.2017', null, null), + array('01.12.2017', null, array('name' => 'Restauração da Independência')), + array('10.06.2017', null, array('name' => 'Dia de Portugal')), + ); + } +} From f9364c15dc1747aa41a75fc7a0166d2dfe39f4a2 Mon Sep 17 00:00:00 2001 From: Danubio Date: Tue, 13 Dec 2016 23:21:08 +0000 Subject: [PATCH 3/5] Test Error Fix --- tests/Checkdomain/Holiday/Provider/PTTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Checkdomain/Holiday/Provider/PTTest.php b/tests/Checkdomain/Holiday/Provider/PTTest.php index 9cc9902..920bc18 100644 --- a/tests/Checkdomain/Holiday/Provider/PTTest.php +++ b/tests/Checkdomain/Holiday/Provider/PTTest.php @@ -36,7 +36,7 @@ public function dateProvider() array('01.05.2014', null, array('name' => 'Dia do Trabalhador')), array('01.12.2015', null, null), - array('15.08.2015', null, array('name' => 'Santo Stefano')), + array('15.08.2015', null, array('name' => 'Assunção de Nossa Senhora')), array('01.01.2016', null, null), array('01.11.2016', null, array('name' => 'Dia de Todos os Santos')), From af98e0e9e75ddccb4454e99d673c21177728caec Mon Sep 17 00:00:00 2001 From: Danubio Date: Tue, 13 Dec 2016 23:24:23 +0000 Subject: [PATCH 4/5] 2nd Test Error --- tests/Checkdomain/Holiday/Provider/PTTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Checkdomain/Holiday/Provider/PTTest.php b/tests/Checkdomain/Holiday/Provider/PTTest.php index 920bc18..9ed4234 100644 --- a/tests/Checkdomain/Holiday/Provider/PTTest.php +++ b/tests/Checkdomain/Holiday/Provider/PTTest.php @@ -38,7 +38,7 @@ public function dateProvider() array('01.12.2015', null, null), array('15.08.2015', null, array('name' => 'Assunção de Nossa Senhora')), - array('01.01.2016', null, null), + array('02.01.2016', null, null), array('01.11.2016', null, array('name' => 'Dia de Todos os Santos')), array('25.12.2016', null, array('name' => 'Natal')), From ce15906689cd1dca7b690db7d67e8a29c6255159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=B6rner?= Date: Mon, 19 Dec 2016 12:03:17 +0100 Subject: [PATCH 5/5] Change: Indent --- tests/Checkdomain/Holiday/Provider/PTTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Checkdomain/Holiday/Provider/PTTest.php b/tests/Checkdomain/Holiday/Provider/PTTest.php index 9ed4234..92b1630 100644 --- a/tests/Checkdomain/Holiday/Provider/PTTest.php +++ b/tests/Checkdomain/Holiday/Provider/PTTest.php @@ -27,7 +27,7 @@ public function setUp() public function dateProvider() { return array( - array('01.01.2010', null, array('name' => 'Ano Novo')), + array('01.01.2010', null, array('name' => 'Ano Novo')), array('26.05.2013', null, null), array('25.04.2013', null, array('name' => '25 de Abril')),