📄 qtxmlpatterns.cpp
字号:
// (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 <QXmlQuery>#include <QXmlSerializer>#include <QCoreApplication>#include <QString>#include <QTextStream>#include <QBuffer>#include <boost/test/unit_test.hpp>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("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" "<html xmlns=\"http://www.w3.org/1999/xhtml/\" xml:lang=\"en\" lang=\"en\">"" <head>"" <title>Global variables report for globals.gccxml</title>"" </head>""<body><p>Some Test text</p></body></html>");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;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -