// (c) Copyright Juergen Hunold 2008 // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #define BOOST_TEST_MODULE QtXmlPatterns #include #include #include #include #include #include #include struct Fixture { Fixture() : application(boost::unit_test::framework::master_test_suite().argc, boost::unit_test::framework::master_test_suite().argv) { BOOST_TEST_MESSAGE( "setup QCoreApplication fixture" ); } ~Fixture() { BOOST_TEST_MESSAGE( "teardown QCoreApplication fixture" ); } QCoreApplication application; }; BOOST_GLOBAL_FIXTURE( Fixture ); QByteArray doc("" "" " " " Global variables report for globals.gccxml" " " "

Some Test text

"); BOOST_AUTO_TEST_CASE( defines) { BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_CORE_LIB), true); BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XMLPATTERNS_LIB), true); BOOST_CHECK_EQUAL(BOOST_IS_DEFINED(QT_XML_LIB), false); } BOOST_AUTO_TEST_CASE( extract ) { QBuffer buffer(&doc); // This is a QIODevice. buffer.open(QIODevice::ReadOnly); QXmlQuery query; query.bindVariable("myDocument", &buffer); query.setQuery("declare variable $myDocument external;" "doc($myDocument)");///p[1]"); BOOST_CHECK_EQUAL(query.isValid(), true); QByteArray result; QBuffer out(&result); out.open(QIODevice::WriteOnly); QXmlSerializer serializer(query, &out); BOOST_CHECK_EQUAL(query.evaluateTo(&serializer), true); QTextStream stream(stdout); BOOST_CHECK_EQUAL(result.isEmpty(), false); stream << "hallo" << result << endl; }