public function testGetData()
 {
     $dataObject = new DataObject(array(), array('mockDataKey' => 'mockDataValue'));
     $expect = array('mockDataKey' => 'mockDataValue');
     $actual = $dataObject->getData();
     $this->assertEquals($expect, $actual);
 }
 public function getData($field = '*')
 {
     if ($field == 'trasa_opis') {
         $val = str_replace('href="', 'href="/dane', $this->data['trasa_opis']);
         return $val;
     }
     return parent::getData($field);
 }
Example #3
0
 public function getData($field = '*')
 {
     if ($field == 'twitter_accounts.id' && empty($this->data['twitter_accounts.id'])) {
         return @$this->getData('twitter_user_id');
     } elseif ($field == 'twitter_accounts.name' && empty($this->data['twitter_accounts.name'])) {
         return @$this->getData('twitter_user_name');
     }
     return parent::getData($field);
 }
 /**
  * @covers DataObject::setData
  * @covers DataObject::getData
  * @covers DataObject::getAllData
  */
 public function testSetGetData()
 {
     // Set data with and without locale
     $this->dataObject->setData('testVar1', 'testVal1');
     $this->dataObject->setData('testVar2', 'testVal2_US', 'en_US');
     $this->dataObject->setData('testVar2', 'testVal2_DE', 'de_DE');
     $expectedResult = array('testVar1' => 'testVal1', 'testVar2' => array('en_US' => 'testVal2_US', 'de_DE' => 'testVal2_DE'));
     self::assertEquals($expectedResult, $this->dataObject->getAllData());
     self::assertEquals('testVal1', $this->dataObject->getData('testVar1'));
     // test for http://bugs.php.net/bug.php?id=29848
     self::assertNull($this->dataObject->getData('testVar1', 'en_US'));
     self::assertEquals('testVal2_US', $this->dataObject->getData('testVar2', 'en_US'));
     // Unset a few values
     $this->dataObject->setData('testVar1', null);
     $this->dataObject->setData('testVar2', null, 'en_US');
     $expectedResult = array('testVar2' => array('de_DE' => 'testVal2_DE'));
     self::assertEquals($expectedResult, $this->dataObject->getAllData());
     // Make sure that un-setting a non-existent value doesn't hurt
     $this->dataObject->setData('testVar1', null);
     $this->dataObject->setData('testVar2', null, 'en_US');
     self::assertEquals($expectedResult, $this->dataObject->getAllData());
     // Make sure that getting a non-existent value doesn't hurt
     self::assertNull($this->dataObject->getData('testVar1'));
     self::assertNull($this->dataObject->getData('testVar1', 'en_US'));
     self::assertNull($this->dataObject->getData('testVar2', 'en_US'));
     // Make sure that unsetting the last translation will also kill the variable
     $this->dataObject->setData('testVar2', null, 'de_DE');
     self::assertEquals(array(), $this->dataObject->getAllData());
     // Test by-ref behaviour
     $testVal1 = 'testVal1';
     $testVal2 = 'testVal2';
     $this->dataObject->setData('testVar1', $testVal1);
     $this->dataObject->setData('testVar2', $testVal2, 'en_US');
     $testVal1 = $testVal2 = 'something else';
     $expectedResult = array('testVar1' => 'testVal1', 'testVar2' => array('en_US' => 'testVal2'));
     $result =& $this->dataObject->getAllData();
     self::assertEquals($expectedResult, $result);
     // Should be returned by-ref:
     $testVal1 =& $this->dataObject->getData('testVar1');
     $testVal2 =& $this->dataObject->getData('testVar2', 'en_US');
     $testVal1 = $testVal2 = 'something else';
     $expectedResult = array('testVar1' => 'something else', 'testVar2' => array('en_US' => 'something else'));
     $result =& $this->dataObject->getAllData();
     self::assertEquals($expectedResult, $result);
 }
 public function getData($field = '*')
 {
     if ($field == 'powiazania' && preg_match_all('/\\<a(.*?)\\/a\\>/i', $this->getData('str'), $matches)) {
         $items = array();
         for ($i = 0; $i < count($matches[0]); $i++) {
             if (!in_array($matches[0][$i], $items)) {
                 $items[] = $matches[0][$i];
             }
         }
         return $items;
     }
     return parent::getData($field);
 }
 public function test_unsetData()
 {
     /* unset root */
     $obj = new DataObject('data');
     $this->assertEquals('data', $obj->getData());
     $obj->unsetData();
     $this->assertNull($obj->getData());
     /* unset key in root array */
     $obj->setKey('dataKey');
     $obj->setOther('dataOther');
     $this->assertEquals('dataKey', $obj->getKey());
     $obj->unsetKey();
     $this->assertNull($obj->getKey());
     $this->assertEquals('dataOther', $obj->getOther());
     /* unset by path */
     $obj->setData('Other/Node', 'dataNode');
     $this->assertEquals('dataNode', $obj->getData('/Other/Node'));
     $obj->unsetData('/Other/Node');
     /* wrong path */
     $obj->unsetData('/Other/WrongNode');
 }