/** * Generates the parameters to use for the download request. * @param mixed $reportDefinition the report definition, as an ID or object * @return array the parameters */ private static function GetParams($reportDefinition) { $params = array(); if (is_numeric($reportDefinition)) { $params['__rd'] = $reportDefinition; } else { if (is_object($reportDefinition) || is_array($reportDefinition)) { $document = XmlUtils::ConvertObjectToDocument($reportDefinition, 'reportDefinition'); $document->formatOutput = TRUE; $params['__rdxml'] = XmlUtils::GetXmlFromDom($document); } else { throw new ReportDownloadException('Invalid report definition type: ' . $reportDefinition); } } return $params; }
/** * Test converting an object to a DOM document. * @param string $expected the expected XML * @param Object $object the object to convert * @covers XmlUtils::ConvertObjectToDocument * @covers XmlUtils::ConvertObjectToElement * @covers XmlUtils::ConvertObjectToNodeValue * @dataProvider ObjectToXmlProvider */ public function testConvertObjectToDocument($object, $expected) { $document = XmlUtils::ConvertObjectToDocument($object, 'root'); $result = XmlUtils::GetXmlFromDom($document); $this->assertEquals($expected, $result); }