private function assertThatSemanticDataIsIndeedEmpty(SemanticData $semanticData)
 {
     $property = new DIProperty('_SKEY');
     foreach ($semanticData->getPropertyValues($property) as $dataItem) {
         $semanticData->removePropertyObjectValue($property, $dataItem);
     }
     return $semanticData->isEmpty();
 }
Example #2
0
 /**
  * @dataProvider removePropertyObjectProvider
  */
 public function testRemovePropertyObjectValue($title, $property, $dataItem)
 {
     $instance = new SemanticData(DIWikiPage::newFromTitle($title));
     $instance->addPropertyObjectValue($property, $dataItem);
     $this->assertFalse($instance->isEmpty());
     $instance->removePropertyObjectValue($property, $dataItem);
     $this->assertTrue($instance->isEmpty());
 }
Example #3
0
 /**
  * Ensure that the SemanticData container is really empty and not filled
  * with a single "pseudo" property that obscures from re-reading the data
  *
  * MW's internal Parser does iterate the ParserOuput object several times
  * which can leave a '_SKEY' property while in fact the the container is
  * empty.
  *
  * @since 1.9
  *
  * @param SemanticData $semanticData
  *
  * @return boolean
  */
 protected function isEmpty(SemanticData $semanticData)
 {
     $property = new DIProperty('_SKEY');
     foreach ($semanticData->getPropertyValues($property) as $dataItem) {
         $semanticData->removePropertyObjectValue($property, $dataItem);
     }
     return $semanticData->isEmpty();
 }