summaryrefslogtreecommitdiff
path: root/include/test
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-04-29 15:07:54 +0200
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-04-29 23:57:33 +0200
commitdde833575e29afecb6b053d3be28d9d028a72bef (patch)
treed63db949265ca1577dfbcb416299033ac3b92d6e /include/test
parentde9ebbaddcb9633380e6614d7e70c1007d3be1c1 (diff)
tests: add XML and HTML test tools to test module
XML and HTML parsing and XPath asserts are used by many test in sw, sc and sd modules. This commit moves this functionallity to test module, where it is available to all modules. Change-Id: I53ad9c45b24f4c9bf106cb58ea619002968bfeda
Diffstat (limited to 'include/test')
-rw-r--r--include/test/htmltesttools.hxx29
-rw-r--r--include/test/xmltesttools.hxx48
2 files changed, 77 insertions, 0 deletions
diff --git a/include/test/htmltesttools.hxx b/include/test/htmltesttools.hxx
new file mode 100644
index 000000000000..99d6bcf9eb89
--- /dev/null
+++ b/include/test/htmltesttools.hxx
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef HTML_TEST_TOOLS_H
+#define HTML_TEST_TOOLS_H
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+
+#include <libxml/HTMLparser.h>
+#include <libxml/HTMLtree.h>
+
+#include <unotools/tempfile.hxx>
+#include <boost/scoped_array.hpp>
+
+class OOO_DLLPUBLIC_TEST HtmlTestTools
+{
+protected:
+ htmlDocPtr parseHtml(utl::TempFile& aTempFile);
+};
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/test/xmltesttools.hxx b/include/test/xmltesttools.hxx
new file mode 100644
index 000000000000..a12d780ab59e
--- /dev/null
+++ b/include/test/xmltesttools.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef XML_TEST_TOOLS_H
+#define XML_TEST_TOOLS_H
+
+#include <sal/config.h>
+#include <test/testdllapi.hxx>
+
+#include <libxml/xmlwriter.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+#include <libxml/parserInternals.h>
+
+#include <rtl/string.hxx>
+#include <rtl/ustring.hxx>
+#include <cppunit/TestAssert.h>
+
+class OOO_DLLPUBLIC_TEST XmlTestTools
+{
+protected:
+ XmlTestTools();
+ virtual ~XmlTestTools();
+
+ virtual void registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx);
+
+ xmlNodeSetPtr getXPathNode(xmlDocPtr pXmlDoc, const OString& rXPath);
+ OUString getXPath(xmlDocPtr pXmlDoc, const OString& rXPath, const OString& rAttribute);
+ OUString getXPathContent(xmlDocPtr pXmlDoc, const OString& rXPath);
+ int getXPathPosition(xmlDocPtr pXmlDoc, const OString& rXPath, const OUString& rChildName);
+ void assertXPath(xmlDocPtr pXmlDoc, const OString& rXPath,
+ const OString& rAttribute = OString(),
+ const OUString& rExpectedValue = OUString());
+ void assertXPath(xmlDocPtr pXmlDoc, const OString& rXPath, int nNumberOfNodes);
+ void assertXPathContent(xmlDocPtr pXmlDoc, const OString& rXPath, const OUString& rContent);
+ void assertXPathChildren(xmlDocPtr pXmlDoc, const OString& rXPath, int nNumberOfChildNodes);
+
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */