1 // (c) Copyright Juergen Hunold 2008
2 // Use, modification and distribution is subject to the Boost Software
3 // License, Version 1.0. (See accompanying file LICENSE.txt or copy at
4 // https://www.bfgroup.xyz/b2/LICENSE.txt)
6 #define BOOST_TEST_MODULE QtXmlPatterns
9 #include <QXmlSerializer>
11 #include <QCoreApplication>
13 #include <QTextStream>
16 #include <boost/test/unit_test.hpp>
22 : application(boost::unit_test::framework::master_test_suite().argc
,
23 boost::unit_test::framework::master_test_suite().argv
)
25 BOOST_TEST_MESSAGE( "setup QCoreApplication fixture" );
30 BOOST_TEST_MESSAGE( "teardown QCoreApplication fixture" );
33 QCoreApplication application
;
36 BOOST_GLOBAL_FIXTURE( Fixture
);
38 QByteArray
doc("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
39 "<html xmlns=\"http://www.w3.org/1999/xhtml/\" xml:lang=\"en\" lang=\"en\">"
41 " <title>Global variables report for globals.gccxml</title>"
43 "<body><p>Some Test text</p></body></html>");
45 BOOST_AUTO_TEST_CASE( defines
)
47 BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB
), true);
48 BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XMLPATTERNS_LIB
), true);
50 BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB
), false);
53 BOOST_AUTO_TEST_CASE( extract
)
56 QBuffer
buffer(&doc
); // This is a QIODevice.
57 buffer
.open(QIODevice::ReadOnly
);
59 query
.bindVariable("myDocument", &buffer
);
60 query
.setQuery("declare variable $myDocument external;"
61 "doc($myDocument)");///p[1]");
63 BOOST_CHECK_EQUAL(query
.isValid(), true);
67 out
.open(QIODevice::WriteOnly
);
69 QXmlSerializer
serializer(query
, &out
);
70 BOOST_CHECK_EQUAL(query
.evaluateTo(&serializer
), true);
72 QTextStream
stream(stdout
);
73 BOOST_CHECK_EQUAL(result
.isEmpty(), false);
74 stream
<< "hallo" << result
<< endl
;