[Pkg-owncloud-commits] [php-sabre-vobject] 09/29: Default properties in sub-components now also work as expected.
David Prévot
taffit at moszumanska.debian.org
Sat Dec 12 19:26:58 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository php-sabre-vobject.
commit f39a095dd6456eb6ddededdfa706cd3fad12c81b
Author: Evert Pot <me at evertpot.com>
Date: Wed Dec 2 17:17:26 2015 -0500
Default properties in sub-components now also work as expected.
---
lib/Component.php | 18 +++++++++---------
tests/VObject/BirthdayCalendarGeneratorTest.php | 22 ++++++++++++++++++++++
tests/VObject/ITip/BrokerAttendeeReplyTest.php | 19 +++++++++++++++++++
tests/VObject/ITip/BrokerDeleteEventTest.php | 3 +++
tests/VObject/ITip/BrokerUpdateEventTest.php | 5 +++++
tests/VObject/JCalTest.php | 2 +-
tests/VObject/TestCase.php | 23 +++++++++++++++++++----
7 files changed, 78 insertions(+), 14 deletions(-)
diff --git a/lib/Component.php b/lib/Component.php
index 46cc80a..e6c7ed6 100644
--- a/lib/Component.php
+++ b/lib/Component.php
@@ -81,7 +81,6 @@ class Component extends Node {
} else {
foreach ($children as $k => $child) {
if ($child instanceof Node) {
-
// Component or Property
$this->add($child);
} else {
@@ -107,19 +106,20 @@ class Component extends Node {
*
* @return Node
*/
- function add($a1, $a2 = null, $a3 = null) {
+ function add() {
+
+ $arguments = func_get_args();
- if ($a1 instanceof Node) {
- if (!is_null($a2)) {
+ if ($arguments[0] instanceof Node) {
+ if (isset($arguments[1])) {
throw new \InvalidArgumentException('The second argument must not be specified, when passing a VObject Node');
}
- $a1->parent = $this;
- $newNode = $a1;
+ $arguments[0]->parent = $this;
+ $newNode = $arguments[0];
- } elseif (is_string($a1)) {
+ } elseif (is_string($arguments[0])) {
- $newNode = $this->root->create($a1, $a2, $a3);
- $newNode->parent = $this;
+ $newNode = call_user_func_array([$this->root, 'create'], $arguments);
} else {
diff --git a/tests/VObject/BirthdayCalendarGeneratorTest.php b/tests/VObject/BirthdayCalendarGeneratorTest.php
index 1fc1180..090fd1e 100644
--- a/tests/VObject/BirthdayCalendarGeneratorTest.php
+++ b/tests/VObject/BirthdayCalendarGeneratorTest.php
@@ -21,6 +21,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
@@ -69,6 +71,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
@@ -76,6 +80,8 @@ TRANSP:TRANSPARENT
X-SABRE-BDAY;X-SABRE-VCARD-UID=foo;X-SABRE-VCARD-FN=Forrest Gump:BDAY
END:VEVENT
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:John Doe's Birthday
DTSTART;VALUE=DATE:19820210
RRULE:FREQ=YEARLY
@@ -125,6 +131,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
@@ -132,6 +140,8 @@ TRANSP:TRANSPARENT
X-SABRE-BDAY;X-SABRE-VCARD-UID=foo;X-SABRE-VCARD-FN=Forrest Gump:BDAY
END:VEVENT
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:John Doe's Birthday
DTSTART;VALUE=DATE:19820210
RRULE:FREQ=YEARLY
@@ -170,6 +180,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
@@ -222,6 +234,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
@@ -229,6 +243,8 @@ TRANSP:TRANSPARENT
X-SABRE-BDAY;X-SABRE-VCARD-UID=foo;X-SABRE-VCARD-FN=Forrest Gump:BDAY
END:VEVENT
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:John Doe's Birthday
DTSTART;VALUE=DATE:19820210
RRULE:FREQ=YEARLY
@@ -265,6 +281,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:20000407
RRULE:FREQ=YEARLY
@@ -301,6 +319,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Birthday
DTSTART;VALUE=DATE:20000407
RRULE:FREQ=YEARLY
@@ -394,6 +414,8 @@ VCF;
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
+UID:**ANY**
+DTSTAMP:**ANY**
SUMMARY:Forrest Gump's Geburtstag
DTSTART;VALUE=DATE:19850407
RRULE:FREQ=YEARLY
diff --git a/tests/VObject/ITip/BrokerAttendeeReplyTest.php b/tests/VObject/ITip/BrokerAttendeeReplyTest.php
index 57d01f4..e8c6acb 100644
--- a/tests/VObject/ITip/BrokerAttendeeReplyTest.php
+++ b/tests/VObject/ITip/BrokerAttendeeReplyTest.php
@@ -54,6 +54,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140716T120000Z
SUMMARY:B-day party
@@ -162,6 +163,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140726T120000Z
SUMMARY:Daily sprint
@@ -171,6 +173,7 @@ ATTENDEE;PARTSTAT=ACCEPTED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140724T120000Z
SUMMARY:Daily sprint
@@ -180,6 +183,7 @@ ATTENDEE;PARTSTAT=DECLINED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140728T120000Z
SUMMARY:Daily sprint
@@ -189,6 +193,7 @@ ATTENDEE;PARTSTAT=TENTATIVE;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140729T120000Z
SUMMARY:Daily sprint
@@ -198,6 +203,7 @@ ATTENDEE;PARTSTAT=ACCEPTED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140725T120000Z
SUMMARY:Daily sprint
@@ -305,6 +311,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140726
RECURRENCE-ID;VALUE=DATE:20140726
@@ -313,6 +320,7 @@ ATTENDEE;PARTSTAT=ACCEPTED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140724
RECURRENCE-ID;VALUE=DATE:20140724
@@ -321,6 +329,7 @@ ATTENDEE;PARTSTAT=DECLINED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140728
RECURRENCE-ID;VALUE=DATE:20140728
@@ -329,6 +338,7 @@ ATTENDEE;PARTSTAT=TENTATIVE;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140729
RECURRENCE-ID;VALUE=DATE:20140729
@@ -337,6 +347,7 @@ ATTENDEE;PARTSTAT=ACCEPTED;CN=One:mailto:one at example.org
END:VEVENT
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140725
RECURRENCE-ID;VALUE=DATE:20140725
@@ -436,6 +447,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140716T120000Z
ORGANIZER;CN=Strunk:mailto:strunk at example.org
@@ -542,6 +554,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140818T200000Z
RECURRENCE-ID:20140818T200000Z
@@ -613,6 +626,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;TZID=America/Toronto:20140818T200000
RECURRENCE-ID;TZID=America/Toronto:20140818T200000
@@ -683,6 +697,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140818
SUMMARY:Weekly meeting
@@ -747,6 +762,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140716T120000Z
ORGANIZER;CN=Strunk:mailto:strunk at example.org
@@ -943,6 +959,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART;VALUE=DATE:20140716
ORGANIZER;CN=Strunk:mailto:strunk at example.org
@@ -1017,6 +1034,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140724T120000Z
SUMMARY:Daily sprint
@@ -1109,6 +1127,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140717T120000Z
SUMMARY:B-day party
diff --git a/tests/VObject/ITip/BrokerDeleteEventTest.php b/tests/VObject/ITip/BrokerDeleteEventTest.php
index 55a8d80..8dccc28 100644
--- a/tests/VObject/ITip/BrokerDeleteEventTest.php
+++ b/tests/VObject/ITip/BrokerDeleteEventTest.php
@@ -43,6 +43,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
SUMMARY:foo
DTSTART:20140716T120000Z
@@ -69,6 +70,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
SUMMARY:foo
DTSTART:20140716T120000Z
@@ -124,6 +126,7 @@ CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140716T120000Z
SUMMARY:foo
diff --git a/tests/VObject/ITip/BrokerUpdateEventTest.php b/tests/VObject/ITip/BrokerUpdateEventTest.php
index c3a0763..64345bd 100644
--- a/tests/VObject/ITip/BrokerUpdateEventTest.php
+++ b/tests/VObject/ITip/BrokerUpdateEventTest.php
@@ -59,6 +59,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
SUMMARY:foo
DTSTART:20140716T120000Z
@@ -237,6 +238,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:1
DTSTART:20140716T120000Z
ORGANIZER;CN=Strunk:mailto:strunk at example.org
@@ -414,6 +416,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
DTSTART:20140716T120000Z
ORGANIZER;CN=Strunk:mailto:strunk at example.org
@@ -674,6 +677,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
SUMMARY:foo
DTSTART:20140716T120000Z
@@ -701,6 +705,7 @@ CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
UID:foobar
+DTSTAMP:**ANY**
SEQUENCE:2
SUMMARY:foo
DTSTART:20140716T120000Z
diff --git a/tests/VObject/JCalTest.php b/tests/VObject/JCalTest.php
index 5df2e6b..8c43716 100644
--- a/tests/VObject/JCalTest.php
+++ b/tests/VObject/JCalTest.php
@@ -22,7 +22,7 @@ class JCalTest extends \PHPUnit_Framework_TestCase {
"URL" => "http://example.org/",
"TZOFFSETFROM" => "+0500",
"RRULE" => ['FREQ' => 'WEEKLY', 'BYDAY' => ['MO', 'TU']],
- ]);
+ ], false);
// Modifying DTSTART to be a date-only.
$event->dtstart['VALUE'] = 'DATE';
diff --git a/tests/VObject/TestCase.php b/tests/VObject/TestCase.php
index 16b2833..c1a63db 100644
--- a/tests/VObject/TestCase.php
+++ b/tests/VObject/TestCase.php
@@ -16,6 +16,8 @@ class TestCase extends \PHPUnit_Framework_TestCase {
*
* CALSCALE will automatically get removed if it's set to GREGORIAN.
*
+ * Any property that has the value **ANY** will be treated as a wildcard.
+ *
* @param resource|string|Component $expected
* @param resource|string|Component $actual
* @param string $message
@@ -42,12 +44,25 @@ class TestCase extends \PHPUnit_Framework_TestCase {
};
- $expected = $getObj($expected);
- $actual = $getObj($actual);
+ $expected = $getObj($expected)->serialize();
+ $actual = $getObj($actual)->serialize();
+
+ // Finding wildcards in expected.
+ preg_match_all('|^([A-Z]+):\\*\\*ANY\\*\\*\r$|m', $expected, $matches, PREG_SET_ORDER);
+
+ foreach ($matches as $match) {
+
+ $actual = preg_replace(
+ '|^' . preg_quote($match[1], '|') . ':(.*)\r$|m',
+ $match[1] . ':**ANY**' . "\r",
+ $actual
+ );
+
+ }
$this->assertEquals(
- $expected->serialize(),
- $actual->serialize(),
+ $expected,
+ $actual,
$message
);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabre-vobject.git
More information about the Pkg-owncloud-commits
mailing list