/** * 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); }