[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