/** * Generate the request XML writer * * @return XMLWriter */ public function writeXml() { $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(false); $xml->startDocument(self::XML_VERSION, $this->encoding); $xml->startElement('request'); $this->controlBlock->writeXml($xml); //create control block $this->operationBlock->writeXml($xml); //create operation block $xml->endElement(); //request return $xml; }
/** * @covers Intacct\Xml\Request\ControlBlock::__construct * @covers Intacct\Xml\Request\ControlBlock::setControlId * @covers Intacct\Xml\Request\ControlBlock::setUniqueId * @covers Intacct\Xml\Request\ControlBlock::getUniqueId * @covers Intacct\Xml\Request\ControlBlock::setDtdVersion * @covers Intacct\Xml\Request\ControlBlock::setIncludeWhitespace * @covers Intacct\Xml\Request\ControlBlock::getIncludeWhitespace * @covers Intacct\Xml\Request\ControlBlock::setDebug * @covers Intacct\Xml\Request\ControlBlock::getDebug * @covers Intacct\Xml\Request\ControlBlock::writeXml */ public function testWriteXmlDefaultsOverride21() { $config = ['sender_id' => 'testsenderid', 'sender_password' => 'pass123!', 'control_id' => 'testcontrol', 'unique_id' => true, 'dtd_version' => '2.1', 'policy_id' => 'testpolicy', 'include_whitespace' => true, 'debug' => true]; $expected = <<<EOF <?xml version="1.0" encoding="UTF-8"?> <control> <senderid>testsenderid</senderid> <password>pass123!</password> <controlid>testcontrol</controlid> <uniqueid>true</uniqueid> <dtdversion>2.1</dtdversion> <policyid>testpolicy</policyid> <includewhitespace>true</includewhitespace> <debug>true</debug> </control> EOF; $xml = new XMLWriter(); $xml->openMemory(); $xml->setIndent(true); $xml->setIndentString(' '); $xml->startDocument(); $controlBlock = new ControlBlock($config); $controlBlock->writeXml($xml); $this->assertXmlStringEqualsXmlString($expected, $xml->flush()); }