1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\DAV; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehlerclass PropFindTest extends \PHPUnit_Framework_TestCase { 6*a1a3b679SAndreas Boehler 7*a1a3b679SAndreas Boehler function testHandle() { 8*a1a3b679SAndreas Boehler 9*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname']); 10*a1a3b679SAndreas Boehler $propFind->handle('{DAV:}displayname', 'foobar'); 11*a1a3b679SAndreas Boehler 12*a1a3b679SAndreas Boehler $this->assertEquals([ 13*a1a3b679SAndreas Boehler 200 => ['{DAV:}displayname' => 'foobar'], 14*a1a3b679SAndreas Boehler 404 => [], 15*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 16*a1a3b679SAndreas Boehler 17*a1a3b679SAndreas Boehler } 18*a1a3b679SAndreas Boehler 19*a1a3b679SAndreas Boehler function testHandleCallBack() { 20*a1a3b679SAndreas Boehler 21*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname']); 22*a1a3b679SAndreas Boehler $propFind->handle('{DAV:}displayname', function() { return 'foobar'; }); 23*a1a3b679SAndreas Boehler 24*a1a3b679SAndreas Boehler $this->assertEquals([ 25*a1a3b679SAndreas Boehler 200 => ['{DAV:}displayname' => 'foobar'], 26*a1a3b679SAndreas Boehler 404 => [], 27*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 28*a1a3b679SAndreas Boehler 29*a1a3b679SAndreas Boehler } 30*a1a3b679SAndreas Boehler 31*a1a3b679SAndreas Boehler function testAllPropDefaults() { 32*a1a3b679SAndreas Boehler 33*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname'], 0, PropFind::ALLPROPS); 34*a1a3b679SAndreas Boehler 35*a1a3b679SAndreas Boehler $this->assertEquals([ 36*a1a3b679SAndreas Boehler 200 => [], 37*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 38*a1a3b679SAndreas Boehler 39*a1a3b679SAndreas Boehler } 40*a1a3b679SAndreas Boehler 41*a1a3b679SAndreas Boehler function testSet() { 42*a1a3b679SAndreas Boehler 43*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname']); 44*a1a3b679SAndreas Boehler $propFind->set('{DAV:}displayname', 'bar'); 45*a1a3b679SAndreas Boehler 46*a1a3b679SAndreas Boehler $this->assertEquals([ 47*a1a3b679SAndreas Boehler 200 => ['{DAV:}displayname' => 'bar'], 48*a1a3b679SAndreas Boehler 404 => [], 49*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 50*a1a3b679SAndreas Boehler 51*a1a3b679SAndreas Boehler } 52*a1a3b679SAndreas Boehler 53*a1a3b679SAndreas Boehler function testSetAllpropCustom() { 54*a1a3b679SAndreas Boehler 55*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname'], 0, PropFind::ALLPROPS); 56*a1a3b679SAndreas Boehler $propFind->set('{DAV:}customproperty', 'bar'); 57*a1a3b679SAndreas Boehler 58*a1a3b679SAndreas Boehler $this->assertEquals([ 59*a1a3b679SAndreas Boehler 200 => ['{DAV:}customproperty' => 'bar'], 60*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 61*a1a3b679SAndreas Boehler 62*a1a3b679SAndreas Boehler } 63*a1a3b679SAndreas Boehler 64*a1a3b679SAndreas Boehler function testSetUnset() { 65*a1a3b679SAndreas Boehler 66*a1a3b679SAndreas Boehler $propFind = new PropFind('foo', ['{DAV:}displayname']); 67*a1a3b679SAndreas Boehler $propFind->set('{DAV:}displayname', 'bar'); 68*a1a3b679SAndreas Boehler $propFind->set('{DAV:}displayname', null); 69*a1a3b679SAndreas Boehler 70*a1a3b679SAndreas Boehler $this->assertEquals([ 71*a1a3b679SAndreas Boehler 200 => [], 72*a1a3b679SAndreas Boehler 404 => ['{DAV:}displayname' => null], 73*a1a3b679SAndreas Boehler ], $propFind->getResultForMultiStatus()); 74*a1a3b679SAndreas Boehler 75*a1a3b679SAndreas Boehler } 76*a1a3b679SAndreas Boehler} 77