/**
  * testExtractLiveProperty 
  * 
  * @param mixed $xml 
  * @param mixed $result 
  * @return void
  *
  * @dataProvider provideLivePropertyData
  */
 public function testSerializeProperty($xml, $property)
 {
     $xmlTool = new ezcWebdavXmlTool();
     $expectedElement = $xmlTool->createDomDocument($xml)->documentElement;
     $dummyDom = $xmlTool->createDomDocument();
     $dummyDomElement = $dummyDom->appendChild($xmlTool->createDomElement($dummyDom, 'prop'));
     $resultElement = $this->propertyHandler->serializeLiveProperty($property, $dummyDomElement, $xmlTool);
     $this->assertEquals($expectedElement, $resultElement);
 }
 /**
  * testExtractLiveProperty 
  * 
  * @param mixed $xml 
  * @param mixed $result 
  * @return void
  *
  * @dataProvider provideLivePropertyData
  */
 public function testSerializeProperty($xml, $property)
 {
     $xmlTool = new ezcWebdavXmlTool();
     $expectedElement = $xmlTool->createDomDocument($xml)->documentElement;
     $dummyDom = $xmlTool->createDomDocument();
     $dummyDomElement = $dummyDom->appendChild($xmlTool->createDomElement($dummyDom, 'prop'));
     $resultElement = $this->propertyHandler->serializeLiveProperty($property, $dummyDomElement, $xmlTool);
     // @TODO: This does not validate the XML needs to be refactored!
     $this->assertDomTreeEquals($expectedElement, $resultElement);
 }
Ejemplo n.º 3
0
 /**
  * Returns the property storage for a resource.
  *
  * Returns the {@link ezcWebdavPropertyStorage} instance containing the
  * properties for the resource identified by $path.
  * 
  * @param string $path 
  * @return ezcWebdavBasicPropertyStorage
  */
 protected function getPropertyStorage($path)
 {
     $storagePath = $this->getPropertyStoragePath($path);
     // If no properties has been stored yet, just return an empty property
     // storage.
     if (!is_file($storagePath)) {
         return new ezcWebdavBasicPropertyStorage();
     }
     // Create handler structure to read properties
     $handler = new ezcWebdavPropertyHandler($xml = new ezcWebdavXmlTool());
     $storage = new ezcWebdavBasicPropertyStorage();
     // Read document
     try {
         $doc = $xml->createDom(file_get_contents($storagePath));
     } catch (ezcWebdavInvalidXmlException $e) {
         throw new ezcWebdavFileBackendBrokenStorageException("Could not open XML as DOMDocument: '{$storage}'.");
     }
     // Get property node from document
     $properties = $doc->getElementsByTagname('properties')->item(0)->childNodes;
     // Extract and return properties
     $handler->extractProperties($properties, $storage);
     return $storage;
 }
 /**
  * Serializes an array of ezcWebdavSupportedLockPropertyLockentry elements to XML.
  * 
  * @param ArrayObject(ezcWebdavSupportedLockPropertyLockentry) $lockEntries 
  * @param DOMDocument $dom To create the returned DOMElements.
  * @param ezcWebdavXmlTool $xmlTool
  * @return array(DOMElement)
  */
 protected function serializeLockEntryContent(ArrayObject $lockEntries = null, DOMDocument $dom, ezcWebdavXmlTool $xmlTool)
 {
     $lockEntryContentElements = array();
     foreach ($lockEntries as $lockEntry) {
         $lockEntryElement = $xmlTool->createDomElement($dom, 'lockentry');
         $lockEntryElement->appendChild($xmlTool->createDomElement($dom, 'lockscope'))->appendChild($xmlTool->createDomElement($dom, $lockEntry->lockScope === ezcWebdavLockRequest::SCOPE_EXCLUSIVE ? 'exclusive' : 'shared'));
         $lockEntryElement->appendChild($xmlTool->createDomElement($dom, 'locktype'))->appendChild($xmlTool->createDomElement($dom, $lockEntry->lockScope === ezcWebdavLockRequest::TYPE_READ ? 'read' : 'write'));
         $lockEntryContentElements[] = $lockEntryElement;
     }
     return $lockEntryContentElements;
 }