1<?php 2 3namespace Sabre\CardDAV; 4 5use Sabre\HTTP; 6use Sabre\DAV\PropFind; 7 8class SogoStripContentType extends \Sabre\DAVServerTest { 9 10 protected $setupCardDAV = true; 11 protected $carddavAddressBooks = array( 12 array( 13 'id' => 1, 14 'uri' => 'book1', 15 'principaluri' => 'principals/user1', 16 ), 17 ); 18 protected $carddavCards = array( 19 1 => array( 20 'card1.vcf' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", 21 ), 22 ); 23 24 function testDontStrip() { 25 26 $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf',array('{DAV:}getcontenttype')); 27 $this->assertEquals(array( 28 '{DAV:}getcontenttype' => 'text/vcard; charset=utf-8' 29 ), $result); 30 31 } 32 function testStrip() { 33 34 $this->server->httpRequest = HTTP\Sapi::createFromServerArray(array( 35 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 Lightning/1.2.1', 36 )); 37 $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf',array('{DAV:}getcontenttype')); 38 $this->assertEquals(array( 39 '{DAV:}getcontenttype' => 'text/x-vcard' 40 ), $result); 41 42 } 43 function testDontTouchOtherMimeTypes() { 44 45 $this->server->httpRequest = new HTTP\Request('GET','/addressbooks/user1/book1/card1.vcf', [ 46 'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 Lightning/1.2.1', 47 ]); 48 49 $propFind = new PropFind('hello', ['{DAV:}getcontenttype']); 50 $propFind->set('{DAV:}getcontenttype', 'text/plain'); 51 $this->carddavPlugin->propFindLate($propFind, new \Sabre\DAV\SimpleCollection('foo')); 52 $this->assertEquals('text/plain', $propFind->get('{DAV:}getcontenttype')); 53 54 } 55 56} 57