[Pkg-owncloud-commits] [php-sabre-vobject] 01/32: Added utility for easily checking vobject equivalence.
David Prévot
taffit at moszumanska.debian.org
Fri Nov 28 22:27:07 UTC 2014
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 9b55b9d3be826e1b2cdd6c40ff66ed112039e861
Author: Evert Pot <evert at rooftopsolutions.nl>
Date: Mon Nov 3 20:54:14 2014 -0300
Added utility for easily checking vobject equivalence.
---
tests/VObject/TestCase.php | 50 ++++++++++++++++++++
tests/VObject/VCardConverterTest.php | 92 +++++++++++++-----------------------
2 files changed, 82 insertions(+), 60 deletions(-)
diff --git a/tests/VObject/TestCase.php b/tests/VObject/TestCase.php
new file mode 100644
index 0000000..d81559d
--- /dev/null
+++ b/tests/VObject/TestCase.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Sabre\VObject;
+
+class TestCase extends \PHPUnit_Framework_TestCase {
+
+ /**
+ * This method tests wether two vcards or icalendar objects are
+ * semantically identical.
+ *
+ * It supports objects being supplied as strings, streams or
+ * Sabre\VObject\Component instances.
+ *
+ * PRODID is removed from both objects as this is often variable.
+ *
+ * @param resource|string|Component $expected
+ * @param resource|string|Component $actual
+ * @param string $message
+ */
+ function assertVObjEquals($expected, $actual, $message = '') {
+
+ $self = $this;
+ $getObj = function($input) use ($self) {
+
+ if (is_resource($input)) {
+ $input = stream_get_contents($input);
+ }
+ if (is_string($input)) {
+ $input = Reader::read($input);
+ }
+ if (!$input instanceof Component) {
+ $this->fail('Input must be a string, stream or VObject component');
+ }
+ unset($input->PRODID);
+ return $input;
+
+ };
+
+ $expected = $getObj($expected);
+ $actual = $getObj($actual);
+
+ $this->assertEquals(
+ $expected->serialize(),
+ $actual->serialize(),
+ $message
+ );
+
+ }
+
+}
diff --git a/tests/VObject/VCardConverterTest.php b/tests/VObject/VCardConverterTest.php
index b8a9e58..614efd0 100644
--- a/tests/VObject/VCardConverterTest.php
+++ b/tests/VObject/VCardConverterTest.php
@@ -2,12 +2,10 @@
namespace Sabre\VObject;
-class VCardConverterTest extends \PHPUnit_Framework_TestCase {
+class VCardConverterTest extends TestCase {
function testConvert30to40() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:3.0
@@ -22,13 +20,11 @@ PHOTO;X-PARAM=FOO;ENCODING=b;TYPE=PNG:Zm9v
PHOTO;VALUE=URI:http://example.org/foo.png
X-ABShowAs:COMPANY
END:VCARD
-
IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
FN:Steve
TEL;PREF=1;TYPE=HOME:+1 555 666 777
ITEM1.TEL:+1 444 555 666
@@ -39,27 +35,23 @@ PHOTO;X-PARAM=FOO:data:image/png;base64,Zm9v
PHOTO:http://example.org/foo.png
KIND:org
END:VCARD
-
OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testConvert40to40() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
FN:Steve
TEL;PREF=1;TYPE=HOME:+1 555 666 777
PHOTO:data:image/jpeg;base64,Zm9v
@@ -73,7 +65,6 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
FN:Steve
TEL;PREF=1;TYPE=HOME:+1 555 666 777
PHOTO:data:image/jpeg;base64,Zm9v
@@ -87,17 +78,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testConvert21to40() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:2.1
@@ -115,7 +104,6 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
N:Family;Johnson;;;
FN:Johnson Family
TEL;TYPE=HOME,VOICE:555-12345-345
@@ -129,17 +117,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testConvert30to30() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:3.0
@@ -171,17 +157,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testConvert40to30() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:4.0
@@ -200,7 +184,6 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:3.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
FN:Steve
TEL;TYPE=PREF,HOME:+1 555 666 777
PHOTO;ENCODING=b;TYPE=JPEG:Zm9v
@@ -215,17 +198,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testConvertGroupCard() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:3.0
@@ -238,7 +219,6 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
KIND:group
END:VCARD
@@ -247,16 +227,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
$input = $output;
$output = <<<OUT
BEGIN:VCARD
VERSION:3.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
X-ADDRESSBOOKSERVER-KIND:GROUP
END:VCARD
@@ -265,17 +244,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
function testBDAYConversion() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:3.0
@@ -288,7 +265,6 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
BDAY:--04-16
END:VCARD
@@ -297,16 +273,15 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
$input = $output;
$output = <<<OUT
BEGIN:VCARD
VERSION:3.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
BDAY;X-APPLE-OMIT-YEAR=1604:1604-04-16
END:VCARD
@@ -315,9 +290,9 @@ OUT;
$vcard = \Sabre\VObject\Reader::read($input);
$vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
@@ -344,8 +319,8 @@ END:VCARD
IN;
- $vcard = \Sabre\VObject\Reader::read($input);
- $vcard->convert(\Sabre\VObject\Document::VCARD40);
+ $vcard = Reader::read($input);
+ $vcard->convert(Document::VCARD40);
}
@@ -362,15 +337,13 @@ END:VCARD
IN;
- $vcard = \Sabre\VObject\Reader::read($input);
- $vcard->convert(\Sabre\VObject\Document::VCARD21);
+ $vcard = Reader::read($input);
+ $vcard->convert(Document::VCARD21);
}
function testConvertIndividualCard() {
- $version = Version::VERSION;
-
$input = <<<IN
BEGIN:VCARD
VERSION:4.0
@@ -383,35 +356,34 @@ IN;
$output = <<<OUT
BEGIN:VCARD
VERSION:3.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
END:VCARD
OUT;
- $vcard = \Sabre\VObject\Reader::read($input);
- $vcard = $vcard->convert(\Sabre\VObject\Document::VCARD30);
+ $vcard = Reader::read($input);
+ $vcard = $vcard->convert(Document::VCARD30);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
$input = $output;
$output = <<<OUT
BEGIN:VCARD
VERSION:4.0
-PRODID:-//Sabre//Sabre VObject {$version}//EN
END:VCARD
OUT;
- $vcard = \Sabre\VObject\Reader::read($input);
- $vcard = $vcard->convert(\Sabre\VObject\Document::VCARD40);
+ $vcard = Reader::read($input);
+ $vcard = $vcard->convert(Document::VCARD40);
- $this->assertEquals(
+ $this->assertVObjEquals(
$output,
- str_replace("\r", "", $vcard->serialize())
+ $vcard
);
}
+
}
--
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