diff vendor/sabre/vobject/tests/VObject/Splitter/VCardTest.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/sabre/vobject/tests/VObject/Splitter/VCardTest.php	Sat Jan 13 09:06:10 2018 -0500
@@ -0,0 +1,195 @@
+<?php
+
+namespace Sabre\VObject\Splitter;
+
+use Sabre\VObject;
+
+class VCardTest extends \PHPUnit_Framework_TestCase {
+
+    function createStream($data) {
+
+        $stream = fopen('php://memory','r+');
+        fwrite($stream, $data);
+        rewind($stream);
+        return $stream;
+
+    }
+
+    function testVCardImportValidVCard() {
+        $data = <<<EOT
+BEGIN:VCARD
+UID:foo
+END:VCARD
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $objects = new VCard($tempFile);
+
+        $count = 0;
+        while($objects->getNext()) {
+            $count++;
+        }
+        $this->assertEquals(1, $count);
+
+    }
+
+    /**
+     * @expectedException Sabre\VObject\ParseException
+     */
+    function testVCardImportWrongType() {
+        $event[] = <<<EOT
+BEGIN:VEVENT
+UID:foo1
+DTSTAMP:20140122T233226Z
+DTSTART:20140101T050000Z
+END:VEVENT
+EOT;
+
+$event[] = <<<EOT
+BEGIN:VEVENT
+UID:foo2
+DTSTAMP:20140122T233226Z
+DTSTART:20140101T060000Z
+END:VEVENT
+EOT;
+
+        $data = <<<EOT
+BEGIN:VCALENDAR
+$event[0]
+$event[1]
+END:VCALENDAR
+
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $splitter = new VCard($tempFile);
+
+        while($object=$splitter->getNext()) {
+        }
+
+    }
+
+    function testVCardImportValidVCardsWithCategories() {
+        $data = <<<EOT
+BEGIN:VCARD
+UID:card-in-foo1-and-foo2
+CATEGORIES:foo1,foo2
+END:VCARD
+BEGIN:VCARD
+UID:card-in-foo1
+CATEGORIES:foo1
+END:VCARD
+BEGIN:VCARD
+UID:card-in-foo3
+CATEGORIES:foo3
+END:VCARD
+BEGIN:VCARD
+UID:card-in-foo1-and-foo3
+CATEGORIES:foo1\,foo3
+END:VCARD
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $splitter = new VCard($tempFile);
+
+        $count = 0;
+        while($object=$splitter->getNext()) {
+            $count++;
+        }
+        $this->assertEquals(4, $count);
+
+    }
+
+    function testVCardImportEndOfData() {
+        $data = <<<EOT
+BEGIN:VCARD
+UID:foo
+END:VCARD
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $objects = new VCard($tempFile);
+        $object=$objects->getNext();
+
+        $this->assertNull($objects->getNext());
+
+
+    }
+
+    /**
+     * @expectedException \Sabre\VObject\ParseException
+     */
+    function testVCardImportCheckInvalidArgumentException() {
+        $data = <<<EOT
+BEGIN:FOO
+END:FOO
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $objects = new VCard($tempFile);
+        while($objects->getNext()) { }
+
+    }
+
+    function testVCardImportMultipleValidVCards() {
+        $data = <<<EOT
+BEGIN:VCARD
+UID:foo
+END:VCARD
+BEGIN:VCARD
+UID:foo
+END:VCARD
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $objects = new VCard($tempFile);
+
+        $count = 0;
+        while($objects->getNext()) {
+            $count++;
+        }
+        $this->assertEquals(2, $count);
+
+    }
+
+    function testImportMultipleSeparatedWithNewLines() {
+        $data = <<<EOT
+BEGIN:VCARD
+UID:foo
+END:VCARD
+
+
+BEGIN:VCARD
+UID:foo
+END:VCARD
+
+
+EOT;
+        $tempFile = $this->createStream($data);
+        $objects = new VCard($tempFile);
+
+        $count = 0;
+        while ($objects->getNext()) {
+            $count++;
+        }
+        $this->assertEquals(2, $count);
+    }
+
+    function testVCardImportVCardWithoutUID() {
+        $data = <<<EOT
+BEGIN:VCARD
+END:VCARD
+EOT;
+        $tempFile = $this->createStream($data);
+
+        $objects = new VCard($tempFile);
+
+        $count = 0;
+        while($objects->getNext()) {
+            $count++;
+        }
+
+        $this->assertEquals(1, $count);
+    }
+
+}