コード例 #1
0
 /**
  * Tests the dump method.
  *
  * @return  void
  *
  * @since   12.3
  */
 public function testDump()
 {
     $dump = $this->_instance->dump();
     $this->assertEquals('object', gettype($dump), 'Dump should return an object.');
     $this->assertEmpty(get_object_vars($dump), 'Empty JData should give an empty dump.');
     $properties = array('scalar' => 'value_1', 'date' => new JDate('2012-01-01'), 'registry' => new Registry(array('key' => 'value')), 'JData' => new JData(array('level2' => new JData(array('level3' => new JData(array('level4' => new JData(array('level5' => 'deep')))))))));
     // Bind an array to the object.
     $this->_instance->bind($properties);
     // Dump the object (default is 3 levels).
     $dump = $this->_instance->dump();
     $this->assertEquals($dump->scalar, 'value_1');
     $this->assertEquals($dump->date, '2012-01-01 00:00:00');
     $this->assertEquals($dump->registry, (object) array('key' => 'value'));
     $this->assertInstanceOf('stdClass', $dump->JData->level2);
     $this->assertInstanceOf('stdClass', $dump->JData->level2->level3);
     $this->assertInstanceOf('JData', $dump->JData->level2->level3->level4);
     $dump = $this->_instance->dump(0);
     $this->assertInstanceOf('JDate', $dump->date);
     $this->assertInstanceOf('\\Joomla\\Registry\\Registry', $dump->registry);
     $this->assertInstanceOf('JData', $dump->JData);
     $dump = $this->_instance->dump(1);
     $this->assertEquals($dump->date, '2012-01-01 00:00:00');
     $this->assertEquals($dump->registry, (object) array('key' => 'value'));
     $this->assertInstanceOf('stdClass', $dump->JData);
     $this->assertInstanceOf('JData', $dump->JData->level2);
 }