/**
  * @dataProvider kvpKeyNameProvider
  */
 public function testGetCallbackToSetArrayType($kvpKeyName, $expected)
 {
     $instance = new CallbackFactory();
     $callback = $instance->getCallbackToSetArrayType('default', $kvpKeyName);
     $this->assertInternalType('callable', $callback);
     $array = array();
     $array = $callback($array);
     $this->assertSame($expected, $array);
 }
Ejemplo n.º 2
0
 /**
  * @param array $array
  * @param string $claimPath to the claim array/arrays with trailing /
  *
  * @return array
  */
 private function getClaimsArrayWithMetaData(array $array, $claimPath = '')
 {
     $metaDataModifications = array('references/*/snaks/*' => array($this->callbackFactory->getCallbackToIndexTags('snak')), 'references/*/snaks' => array($this->callbackFactory->getCallbackToSetArrayType('kvp', 'id'), $this->callbackFactory->getCallbackToIndexTags('property')), 'references/*/snaks-order' => array($this->callbackFactory->getCallbackToIndexTags('property')), 'references' => array($this->callbackFactory->getCallbackToIndexTags('reference')), 'qualifiers/*' => array($this->callbackFactory->getCallbackToIndexTags('qualifiers')), 'qualifiers' => array($this->callbackFactory->getCallbackToSetArrayType('kvp', 'id'), $this->callbackFactory->getCallbackToIndexTags('property')), 'qualifiers-order' => array($this->callbackFactory->getCallbackToIndexTags('property')), 'mainsnak' => array($this->callbackFactory->getCallbackToAddDataTypeToSnak($this->dataTypeLookup)));
     foreach ($metaDataModifications as $path => $callbacks) {
         foreach ($callbacks as $callback) {
             $array = $this->modifier->modifyUsingCallback($array, $claimPath . $path, $callback);
         }
     }
     return $array;
 }