|
|
@@ -55,18 +55,18 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
|
|
|
|
/** |
|
|
|
* @dataProvider providesVCards |
|
|
|
* @param boolean $nullExpected |
|
|
|
* @param boolean $expectedSummary |
|
|
|
* @param string | null $data |
|
|
|
*/ |
|
|
|
public function testBuildBirthdayFromContact($nullExpected, $data) { |
|
|
|
public function testBuildBirthdayFromContact($expectedSummary, $data) { |
|
|
|
$cal = $this->service->buildDateFromContact($data, 'BDAY', '*'); |
|
|
|
if ($nullExpected) { |
|
|
|
if ($expectedSummary === null) { |
|
|
|
$this->assertNull($cal); |
|
|
|
} else { |
|
|
|
$this->assertInstanceOf('Sabre\VObject\Component\VCalendar', $cal); |
|
|
|
$this->assertTrue(isset($cal->VEVENT)); |
|
|
|
$this->assertEquals('FREQ=YEARLY', $cal->VEVENT->RRULE->getValue()); |
|
|
|
$this->assertEquals('12345 (*1900)', $cal->VEVENT->SUMMARY->getValue()); |
|
|
|
$this->assertEquals($expectedSummary, $cal->VEVENT->SUMMARY->getValue()); |
|
|
|
$this->assertEquals('TRANSPARENT', $cal->VEVENT->TRANSP->getValue()); |
|
|
|
} |
|
|
|
} |
|
|
@@ -233,14 +233,19 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
|
|
|
|
public function providesVCards() { |
|
|
|
return [ |
|
|
|
[true, null], |
|
|
|
[true, ''], |
|
|
|
[true, 'yasfewf'], |
|
|
|
[true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-01-01\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-12-31\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, null], |
|
|
|
[null, ''], |
|
|
|
[null, 'yasfewf'], |
|
|
|
[null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*1900)', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*1900)', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 *', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 *', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*900)', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
]; |
|
|
|
} |
|
|
|
} |