public function testRegisterAdditionalDescriptionDeserializer()
 {
     $descriptionDeserializer = $this->getMockBuilder('\\SMW\\Deserializers\\DVDescriptionDeserializer\\DescriptionDeserializer')->disableOriginalConstructor()->getMockForAbstractClass();
     $descriptionDeserializer->expects($this->once())->method('isDeserializerFor')->will($this->returnValue(true));
     $dataValue = $this->getMockBuilder('\\SMWDataValue')->disableOriginalConstructor()->getMockForAbstractClass();
     $instance = new DVDescriptionDeserializerRegistry();
     $instance->registerDescriptionDeserializer($descriptionDeserializer);
     $this->assertInstanceOf('\\SMW\\Deserializers\\DVDescriptionDeserializer\\DescriptionDeserializer', $instance->getDescriptionDeserializerBy($dataValue));
 }
Ejemplo n.º 2
0
 /**
  * FIXME 3.0, allow NULL as value
  *
  * @see DataValueDescriptionDeserializer::deserialize
  *
  * @note Descriptions of values need to know their property to be able to
  * create a parsable wikitext version of a query condition again. Thus it
  * might be necessary to call setProperty() before using this method.
  *
  * @param string $value
  *
  * @return Description
  * @throws InvalidArgumentException
  */
 public function getQueryDescription($value)
 {
     $descriptionDeserializer = DVDescriptionDeserializerRegistry::getInstance()->getDescriptionDeserializerBy($this);
     $description = $descriptionDeserializer->deserialize($value);
     foreach ($descriptionDeserializer->getErrors() as $error) {
         $this->addError($error);
     }
     return $description;
 }
 /**
  * @since 2.4
  *
  * @param DescriptionDeserializer $descriptionDeserializer
  */
 public function registerDVDescriptionDeserializer(DescriptionDeserializer $descriptionDeserializer)
 {
     DVDescriptionDeserializerRegistry::getInstance()->registerDescriptionDeserializer($descriptionDeserializer);
 }