summaryrefslogtreecommitdiff
path: root/test/source/xmltesttools.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'test/source/xmltesttools.cxx')
-rw-r--r--test/source/xmltesttools.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/source/xmltesttools.cxx b/test/source/xmltesttools.cxx
index e80674d2238b..1cb231c0849d 100644
--- a/test/source/xmltesttools.cxx
+++ b/test/source/xmltesttools.cxx
@@ -9,12 +9,29 @@
#include <test/xmltesttools.hxx>
+#include <boost/scoped_array.hpp>
+
XmlTestTools::XmlTestTools()
{}
XmlTestTools::~XmlTestTools()
{}
+htmlDocPtr XmlTestTools::parseXml(utl::TempFile& aTempFile)
+{
+ SvFileStream aFileStream(aTempFile.GetURL(), STREAM_READ);
+ return parseXmlStream(&aFileStream);
+}
+
+xmlDocPtr XmlTestTools::parseXmlStream(SvStream* pStream)
+{
+ sal_Size nSize = pStream->remainingSize();
+ boost::scoped_array<sal_uInt8> pBuffer(new sal_uInt8[nSize + 1]);
+ pStream->Read(pBuffer.get(), nSize);
+ pBuffer[nSize] = 0;
+ return xmlParseDoc(reinterpret_cast<xmlChar*>(pBuffer.get()));
+}
+
xmlNodeSetPtr XmlTestTools::getXPathNode(xmlDocPtr pXmlDoc, const OString& rXPath)
{
xmlXPathContextPtr pXmlXpathCtx = xmlXPathNewContext(pXmlDoc);