1<?php 2 3namespace Sabre\DAV\Browser; 4 5use Sabre\DAV; 6 7require_once 'Sabre/DAV/AbstractServer.php'; 8class GuessContentTypeTest extends DAV\AbstractServer { 9 10 function setUp() { 11 12 parent::setUp(); 13 \Sabre\TestUtil::clearTempDir(); 14 file_put_contents(SABRE_TEMPDIR . '/somefile.jpg','blabla'); 15 file_put_contents(SABRE_TEMPDIR . '/somefile.hoi','blabla'); 16 17 } 18 19 function tearDown() { 20 21 \Sabre\TestUtil::clearTempDir(); 22 parent::tearDown(); 23 } 24 25 function testGetProperties() { 26 27 $properties = array( 28 '{DAV:}getcontenttype', 29 ); 30 $result = $this->server->getPropertiesForPath('/somefile.jpg',$properties); 31 $this->assertArrayHasKey(0,$result); 32 $this->assertArrayHasKey(404,$result[0]); 33 $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][404]); 34 35 } 36 37 /** 38 * @depends testGetProperties 39 */ 40 function testGetPropertiesPluginEnabled() { 41 42 $this->server->addPlugin(new GuessContentType()); 43 $properties = array( 44 '{DAV:}getcontenttype', 45 ); 46 $result = $this->server->getPropertiesForPath('/somefile.jpg',$properties); 47 $this->assertArrayHasKey(0,$result); 48 $this->assertArrayHasKey(200,$result[0], 'We received: ' . print_r($result,true)); 49 $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][200]); 50 $this->assertEquals('image/jpeg',$result[0][200]['{DAV:}getcontenttype']); 51 52 } 53 54 /** 55 * @depends testGetPropertiesPluginEnabled 56 */ 57 function testGetPropertiesUnknown() { 58 59 $this->server->addPlugin(new GuessContentType()); 60 $properties = array( 61 '{DAV:}getcontenttype', 62 ); 63 $result = $this->server->getPropertiesForPath('/somefile.hoi',$properties); 64 $this->assertArrayHasKey(0,$result); 65 $this->assertArrayHasKey(200,$result[0]); 66 $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][200]); 67 $this->assertEquals('application/octet-stream',$result[0][200]['{DAV:}getcontenttype']); 68 69 } 70} 71