/**
* tests rendering the body of one section
*
* @group writer
* @group sourcetest
*/
public function testRenderSectionBodyIfNotSilentWithDefaultPropertiesAsParent()
{
$this->object->setSilent(false);
$section = array('Parent' => 'DefaultProperties', 'Comment' => '1', 'Win16' => true, 'Platform' => 'bcd');
$sections = array('X2' => $section);
$expectedAgents = array(0 => array('properties' => array('Comment' => '12', 'Win16' => true, 'Platform' => 'bcd')));
$mockDivision = $this->getMock('\\Browscap\\Data\\Division', array('getUserAgents'), array(), '', false);
$mockDivision->expects(self::once())->method('getUserAgents')->will(self::returnValue($expectedAgents));
$mockCollection = $this->getMock('\\Browscap\\Data\\DataCollection', array('getDefaultProperties'), array(), '', false);
$mockCollection->expects(self::once())->method('getDefaultProperties')->will(self::returnValue($mockDivision));
$mockFormatter = $this->getMock('\\Browscap\\Formatter\\XmlFormatter', array('formatPropertyName'), array(), '', false);
$mockFormatter->expects(self::exactly(3))->method('formatPropertyName')->will(self::returnArgument(0));
self::assertSame($this->object, $this->object->setFormatter($mockFormatter));
$map = array(array('Comment', $this->object, true), array('Win16', $this->object, false), array('Platform', $this->object, true), array('Parent', $this->object, true));
$mockFilter = $this->getMock('\\Browscap\\Filter\\StandardFilter', array('isOutputProperty'), array(), '', false);
$mockFilter->expects(self::exactly(4))->method('isOutputProperty')->will(self::returnValueMap($map));
self::assertSame($this->object, $this->object->setFilter($mockFilter));
self::assertSame($this->object, $this->object->renderSectionBody($section, $mockCollection, $sections));
self::assertSame('<item name="Parent" value="DefaultProperties"/>' . PHP_EOL . '<item name="Comment" value="1"/>' . PHP_EOL . '<item name="Platform" value="bcd"/>' . PHP_EOL, file_get_contents($this->file));
}