summaryrefslogtreecommitdiffstats
path: root/tests/auto/xmlpatternsxqts
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2010-02-16 15:34:50 +1000
committerRohan McGovern <rohan.mcgovern@nokia.com>2010-02-17 16:12:08 +1000
commit2d67f6efc47986e8f6d69943f0986d18ae2ced96 (patch)
tree42b8e16e73c021ffabba0b82b12f0f533ce8aa11 /tests/auto/xmlpatternsxqts
parent0cdf33e9acb00b8f3654e8268253a3fb7c5db92c (diff)
Fixed compile of xmlpatterns tests with vcproj generator.
These tests were adding the same SUBDIR multiple times from different projects. Don't do that.
Diffstat (limited to 'tests/auto/xmlpatternsxqts')
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ASTItem.cpp161
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ASTItem.h115
-rw-r--r--tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp264
-rw-r--r--tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h128
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp166
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorHandler.h149
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp142
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorItem.h94
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExitCode.h105
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp54
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h80
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp316
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h281
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp140
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h137
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Global.cpp83
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Global.h128
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp76
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ResultThreader.h110
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp511
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.h212
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestCase.cpp439
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestCase.h256
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestContainer.cpp151
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestContainer.h123
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.cpp143
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.h93
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestItem.h133
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResult.cpp158
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResult.h179
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp98
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResultHandler.h115
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.cpp269
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.h160
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp312
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h169
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp173
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h93
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeItem.cpp62
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeItem.h114
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.cpp184
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.h110
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Worker.cpp258
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Worker.h100
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp669
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XMLWriter.h403
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp286
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h149
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp375
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h161
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp910
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h121
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp234
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h158
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp63
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml3
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp63
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml3
-rw-r--r--tests/auto/xmlpatternsxqts/lib/lib.pro88
-rw-r--r--tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp186
-rw-r--r--tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h77
-rw-r--r--tests/auto/xmlpatternsxqts/test/test.pro26
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.cpp (renamed from tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp)0
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.h (renamed from tests/auto/xmlpatternsxqts/test/tst_suitetest.h)2
-rw-r--r--tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp (renamed from tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp)0
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro26
66 files changed, 18 insertions, 11329 deletions
diff --git a/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp b/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp
deleted file mode 100644
index 3b4fbdc865..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QList>
-#include <QPointer>
-#include <QVariant>
-
-#include "ASTItem.h"
-
-using namespace QPatternistSDK;
-
-/**
- * This is what the AST rendering is indented with.
- */
-static const QLatin1String astIndent(" ");
-// STATIC DATA
-
-ASTItem::ASTItem(ASTItem *p,
- const QString &name,
- const QString &details,
- const QString &staticType,
- const QString &reqType) : m_name(name),
- m_details(details),
- m_reqType(reqType),
- m_staticType(staticType),
- m_parent(p)
-{
-}
-
-ASTItem::~ASTItem()
-{
- qDeleteAll(m_children);
-}
-
-QString ASTItem::toString() const
-{
- /* The first ASTItem* is a virtual root node, so skip "this". */
- Q_ASSERT(m_children.count() == 1);
- TreeItem *treeChild = m_children.first();
- Q_ASSERT(treeChild);
-
- ASTItem *astChild = static_cast<ASTItem *>(treeChild);
-
- return astChild->toString(QString());
-}
-
-QString ASTItem::toString(const QString &indent) const
-{
- QString retval;
-
- retval += indent;
- retval += m_name;
- retval += QLatin1Char('(');
- retval += m_details;
- retval += QLatin1String(")\n");
-
- const TreeItem::List::const_iterator end(m_children.constEnd());
-
- for(TreeItem::List::const_iterator it(m_children.constBegin()); it != end; ++it)
- {
- TreeItem *treeChild = *it; /* Cast away the QPointer with its casting operator. */
- ASTItem *astChild = static_cast<ASTItem *>(treeChild);
-
- retval += astChild->toString(indent + astIndent);
- }
-
- return retval;
-}
-
-QVariant ASTItem::data(const Qt::ItemDataRole role, int column) const
-{
- if(role != Qt::DisplayRole)
- return QVariant();
-
- switch(column)
- {
- case 0:
- return m_name;
- case 1:
- return m_details;
- case 2:
- return m_staticType;
- case 3:
- return m_reqType;
- default:
- {
- Q_ASSERT(false);
- return QVariant();
- }
- }
-}
-
-int ASTItem::columnCount() const
-{
- return 4;
-}
-
-TreeItem::List ASTItem::children() const
-{
- return m_children;
-}
-
-void ASTItem::appendChild(TreeItem *item)
-{
- m_children.append(item);
-}
-
-TreeItem *ASTItem::child(const unsigned int rowP) const
-{
- return m_children.value(rowP);
-}
-
-unsigned int ASTItem::childCount() const
-{
- return m_children.count();
-}
-
-TreeItem *ASTItem::parent() const
-{
- return m_parent;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ASTItem.h b/tests/auto/xmlpatternsxqts/lib/ASTItem.h
deleted file mode 100644
index ca3ac8f199..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ASTItem.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ASTItem_H
-#define PatternistSDK_ASTItem_H
-
-#include <QList>
-#include <QString>
-
-#include "TreeItem.h"
-#include "Global.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Is a node in a ASTItem tree; each ASTItem contains
- * debug information about an QPatternist::Expression.
- *
- * ASTItem, by implementing TreeItem, leverages debug data about QPatternist::Expression
- * instances into Qt's model/view framework.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ASTItem : public TreeItem
- {
- public:
- virtual ~ASTItem();
- ASTItem(ASTItem *parent,
- const QString &name,
- const QString &details = QString(),
- const QString &staticType = QString(),
- const QString &reqType = QString());
-
- virtual void appendChild(TreeItem *item);
- virtual TreeItem *child(const unsigned int row) const;
- virtual unsigned int childCount() const;
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
- virtual TreeItem::List children() const;
- virtual TreeItem *parent() const;
- int columnCount() const;
-
- /**
- * Returns a string representation of this AST node, recursively including
- * children. For example, the query <tt>1 eq number()</tt> would result in the string:
- *
-@verbatim
-ValueComparison(eq)
- xs:integer(0)
- FunctionCall(fn:number)
- ContextItem
-@endverbatim
- */
- QString toString() const;
-
- private:
- QString toString(const QString &indent) const;
-
- const QString m_name;
- const QString m_details;
- const QString m_reqType;
- const QString m_staticType;
- TreeItem::List m_children;
- TreeItem *m_parent;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp
deleted file mode 100644
index 1b5121e96b..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QStringList>
-#include <QVariant>
-#include <QtDebug>
-#include <QXmlNamePool>
-
-#include "qfunctionfactorycollection_p.h"
-
-#include "ASTItem.h"
-#include "ExpressionInfo.h"
-#include "ExpressionNamer.h"
-#include "Global.h"
-
-#include "DebugExpressionFactory.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-static const QPatternist::ExpressionVisitor::Ptr namer(new ExpressionNamer());
-
-QStringList DebugExpressionFactory::availableFunctionSignatures()
-{
- const QPatternist::FunctionFactory::Ptr factory(QPatternist::FunctionFactoryCollection::xpath20Factory(Global::namePool()));
- const QPatternist::FunctionSignature::Hash signs(factory->functionSignatures());
- const QPatternist::FunctionSignature::Hash::const_iterator end(signs.constEnd());
- QPatternist::FunctionSignature::Hash::const_iterator it(signs.constBegin());
- QStringList retval;
-
- while(it != end)
- {
- retval << it.value()->displayName(Global::namePool());
- ++it;
- }
-
- return retval;
-}
-
-ASTItem *DebugExpressionFactory::buildASTTree(const QPatternist::Expression::Ptr &expr,
- ASTItem *parent,
- const QPatternist::SequenceType::Ptr &reqType)
-{
- Q_ASSERT(expr);
- const QPatternist::ExpressionVisitorResult::Ptr exprInfo(expr->accept(namer));
- Q_ASSERT(exprInfo);
- const ExpressionInfo *const constExprInfo = static_cast<const ExpressionInfo *>(exprInfo.data());
- const QString name(constExprInfo->first);
- const QString details(constExprInfo->second);
- const QString rType(reqType ? reqType->displayName(Global::namePool()) : QLatin1String("Not specified"));
-
- /* ---------- Handle its staticType() -------- */
- const QPatternist::SequenceType::Ptr type(expr->staticType());
- QString seqType;
-
- if(type)
- seqType = type->displayName(Global::namePool());
- else
- seqType = QLatin1String("no type, null pointer returned");
- /* ------------------------------------------- */
-
- ASTItem *const node = new ASTItem(parent, name, details, seqType, rType);
-
- /* ------------ Handle child nodes ----------- */
- const QPatternist::Expression::List children(expr->operands());
- QPatternist::Expression::List::const_iterator it(children.constBegin());
- const QPatternist::Expression::List::const_iterator end(children.constEnd());
-
- const QPatternist::SequenceType::List reqTypes(expr->expectedOperandTypes());
- const QPatternist::SequenceType::List::const_iterator typeEnd(reqTypes.constEnd());
- QPatternist::SequenceType::List::const_iterator typeIt(reqTypes.constBegin());
- QPatternist::SequenceType::Ptr t;
-
- for(; it != end; ++it)
- {
- if(typeIt != typeEnd)
- {
- t = *typeIt;
- ++typeIt;
- }
-
- node->appendChild(buildASTTree(*it, node, t));
- }
- /* ------------------------------------------- */
-
- return node;
-}
-
-QPatternist::Expression::Ptr
-DebugExpressionFactory::createExpression(QIODevice *const expr,
- const QPatternist::StaticContext::Ptr &context,
- const QXmlQuery::QueryLanguage lang,
- const QPatternist::SequenceType::Ptr &requiredType,
- const QUrl &baseURI,
- const QXmlName &initialTemplateName)
-{
- /* Create the root node. */
- m_ast = new ASTItem(0, QString());
-
- return ExpressionFactory::createExpression(expr, context, lang, requiredType, baseURI, initialTemplateName);
-}
-
-void DebugExpressionFactory::processTreePass(const QPatternist::Expression::Ptr &expr,
- const CompilationStage stage)
-{
- ASTItem *newChild = 0;
-
- switch(stage)
- {
- case QueryBodyInitial:
- {
- newChild = new ASTItem(m_ast, QLatin1String("Initial Build"));
- break;
- }
- case QueryBodyTypeCheck:
- {
- newChild = new ASTItem(m_ast, QLatin1String("Type Check"));
- break;
- }
- case QueryBodyCompression:
- {
- newChild = new ASTItem(m_ast, QLatin1String("Compression"));
- break;
- }
- case UserFunctionTypeCheck:
- {
- newChild = new ASTItem(m_ast, QLatin1String("User Function Type Check"));
- break;
- }
- case UserFunctionCompression:
- {
- newChild = new ASTItem(m_ast, QLatin1String("User Function Compression"));
- break;
- }
- case GlobalVariableTypeCheck:
- {
- newChild = new ASTItem(m_ast, QLatin1String("Global Variable Type Check"));
- break;
- }
- }
-
- Q_ASSERT(newChild);
- m_ast->appendChild(newChild);
- newChild->appendChild(buildASTTree(expr, newChild, QPatternist::SequenceType::Ptr()));
-}
-
-void DebugExpressionFactory::processTemplateRule(const Expression::Ptr &body,
- const TemplatePattern::Ptr &pattern,
- const QXmlName &mode,
- const TemplateCompilationStage stage)
-{
- const char * title;
-
- switch(stage)
- {
- case TemplateInitial:
- {
- title = "Initial Build";
- break;
- }
- case TemplateTypeCheck:
- {
- title = "Type Check";
- break;
- }
- case TemplateCompress:
- {
- title = "Compression";
- break;
- }
- }
-
- const QString modeName(Global::namePool()->displayName(mode));
- Q_ASSERT(title);
- ASTItem *const newChild = new ASTItem(m_ast, QLatin1String("T-Rule ")
- + QLatin1String(title)
- + QLatin1String(" mode: ")
- + modeName
- + QLatin1String(" priority: ")
- + QString::number(pattern->priority()));
- m_ast->appendChild(newChild);
-
- newChild->appendChild(buildASTTree(pattern->matchPattern(), newChild, QPatternist::SequenceType::Ptr()));
- newChild->appendChild(buildASTTree(body, newChild, QPatternist::SequenceType::Ptr()));
-}
-
-void DebugExpressionFactory::processNamedTemplate(const QXmlName &name,
- const Expression::Ptr &body,
- const TemplateCompilationStage stage)
-{
- const char * title;
-
- switch(stage)
- {
- case TemplateInitial:
- {
- title = "Named Template Initial Build";
- break;
- }
- case TemplateTypeCheck:
- {
- title = "Named Template Type Check";
- break;
- }
- case TemplateCompress:
- {
- title = "Named Template Compression";
- break;
- }
- }
-
- Q_ASSERT(title);
- ASTItem *const newChild = new ASTItem(m_ast, QLatin1String(title)
- + QLatin1String(": ")
- + Global::namePool()->displayName(name));
-
- m_ast->appendChild(newChild);
- newChild->appendChild(buildASTTree(body, newChild, QPatternist::SequenceType::Ptr()));
-}
-
-ASTItem *DebugExpressionFactory::astTree() const
-{
- return m_ast;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h
deleted file mode 100644
index d5e676d0c6..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_DebugExpressionFactory_H
-#define PatternistSDK_DebugExpressionFactory_H
-
-#include "Global.h"
-#include "qexpressionfactory_p.h"
-#include "qfunctionfactory_p.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class ASTItem;
-
- /**
- * @short Is a QPatternist::ExpressionFactory, with the
- * difference that it provides the hooks for building from a tree of
- * debug data from the compiled expression.
- *
- * This tree can be retrieved via astTree(). The astTree() function
- * returns the AST built the last time createExpression() was called.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT DebugExpressionFactory : public QPatternist::ExpressionFactory
- {
- public:
- DebugExpressionFactory() : m_ast(0)
- {
- }
-
- typedef QExplicitlySharedDataPointer<DebugExpressionFactory> Ptr;
- /**
- * Identical to ExpressionFactory::createExpression() with the difference
- * that it builds an ASTItem tree which can be accessed via astTree().
- */
- virtual QPatternist::Expression::Ptr createExpression(QIODevice *const expr,
- const QPatternist::StaticContext::Ptr &context,
- const QXmlQuery::QueryLanguage lang,
- const QPatternist::SequenceType::Ptr &requiredType,
- const QUrl &queryURI,
- const QXmlName &initialTemplateName);
-
- /**
- * @returns an ASTItem tree built for the last created expression,
- * via createExpression().
- */
- virtual ASTItem *astTree() const;
-
- /**
- * @returns a list containing string representations of all available
- * functions in Patternist. Each QString in the returned QStringList
- * is a function synopsis for human consumption.
- */
- static QStringList availableFunctionSignatures();
-
- protected:
- /**
- * Performs the ASTItem tree building.
- */
- virtual void processTreePass(const QPatternist::Expression::Ptr &tree,
- const CompilationStage stage);
-
- void processTemplateRule(const QPatternist::Expression::Ptr &body,
- const QPatternist::TemplatePattern::Ptr &pattern,
- const QXmlName &mode,
- const TemplateCompilationStage stage);
-
- void processNamedTemplate(const QXmlName &name,
- const QPatternist::Expression::Ptr &body,
- const TemplateCompilationStage stage);
- private:
- static ASTItem *buildASTTree(const QPatternist::Expression::Ptr &expr,
- ASTItem *const parent,
- const QPatternist::SequenceType::Ptr &reqType);
- ASTItem *m_ast;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp
deleted file mode 100644
index 3f07737fa4..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <cstdio>
-
-#include <QBuffer>
-#include <QStringList>
-#include <QtDebug>
-#include <QtTest>
-#include <QtGlobal>
-#include <QXmlQuery>
-#include <QXmlResultItems>
-
-#include "ErrorHandler.h"
-
-using namespace QPatternistSDK;
-
-ErrorHandler *ErrorHandler::handler = 0;
-
-void qMessageHandler(QtMsgType type, const char *description)
-{
- if(type == QtDebugMsg)
- {
- std::fprintf(stderr, "%s\n", description);
- return;
- }
-
- QtMsgType t;
-
- switch(type)
- {
- case QtWarningMsg:
- {
- t = QtWarningMsg;
- break;
- }
- case QtCriticalMsg:
- {
- t = QtFatalMsg;
- break;
- }
- case QtFatalMsg:
- {
- /* We can't swallow Q_ASSERTs, we need to fail the hard way here.
- * But maybe not: when run from "patternistrunsingle" it could be an idea
- * to actually try to record it(but nevertheless fail somehow) such
- * that it gets reported. */
- std::fprintf(stderr, "Fatal error: %s\n", description);
- t = QtFatalMsg; /* Dummy, to silence a bogus compiler warning. */
- return;
- }
- case QtDebugMsg: /* This enum is handled above in the if-clause. */
- /* Fallthrough. */
- default:
- {
- Q_ASSERT(false);
- return;
- }
- }
-
- Q_ASSERT(ErrorHandler::handler);
- /* This message is hacky. Ideally, we should do it the same way
- * ReportContext::error() constructs messages, but this is just testing
- * code. */
- ErrorHandler::handler->message(t, QLatin1String("<p>") + QPatternist::escape(QLatin1String(description)) + QLatin1String("</p>"));
-}
-
-void ErrorHandler::installQtMessageHandler(ErrorHandler *const h)
-{
- handler = h;
-
- if(h)
- qInstallMsgHandler(qMessageHandler);
- else
- qInstallMsgHandler(0);
-}
-
-void ErrorHandler::handleMessage(QtMsgType type,
- const QString &description,
- const QUrl &identifier,
- const QSourceLocation &)
-{
- /* Don't use pDebug() in this function, it results in infinite
- * recursion. Talking from experience.. */
-
- Message msg;
- msg.setType(type);
- msg.setIdentifier(identifier);
-
- /* Let's remove all the XHTML markup. */
- QBuffer buffer;
- buffer.setData(description.toLatin1());
- buffer.open(QIODevice::ReadOnly);
-
- QXmlQuery query;
- query.bindVariable(QLatin1String("desc"), &buffer);
- query.setQuery(QLatin1String("string(doc($desc))"));
-
- QStringList result;
- const bool success = query.evaluateTo(&result);
-
- if(!description.startsWith(QLatin1String("\"Test-suite harness error:")))
- {
- const QString msg(QString::fromLatin1("Invalid description: %1").arg(description));
- QVERIFY2(success, qPrintable(msg));
-
- if(!success)
- QTextStream(stderr) << msg;
- }
-
-
- if(!result.isEmpty())
- msg.setDescription(result.first());
-
- m_messages.append(msg);
-}
-
-ErrorHandler::Message::List ErrorHandler::messages() const
-{
- return m_messages;
-}
-
-void ErrorHandler::reset()
-{
- m_messages.clear();
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h
deleted file mode 100644
index 25447a967e..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ErrorHandler_H
-#define PatternistSDK_ErrorHandler_H
-
-#include "Global.h"
-#include "qabstractmessagehandler.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-template<typename T> class QList;
-
-namespace QPatternistSDK
-{
- /**
- * @short A MessageHandler which
- * accumulates all its received ErrorHandler::Message instances
- * in a list, retrievable via messages().
- *
- * Thus, ErrorHandler does not report errors, but collects them
- * and allows easy access to them.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ErrorHandler : public QAbstractMessageHandler
- {
- public:
- class Message
- {
- public:
- typedef QList<Message> List;
-
- QString description() const
- {
- return m_description;
- }
-
- void setDescription(const QString &desc)
- {
- m_description = desc;
- }
-
- void setIdentifier(const QUrl &newId)
- {
- m_identifier = newId;
- }
-
- QUrl identifier() const
- {
- return m_identifier;
- }
-
- QtMsgType type() const
- {
- return m_type;
- }
-
- void setType(const QtMsgType t)
- {
- m_type = t;
- }
-
- private:
- QUrl m_identifier;
- QtMsgType m_type;
- QString m_description;
- };
-
- /**
- * Clears all accumulated errors.
- */
- void reset();
-
- Message::List messages() const;
-
- /**
- * Calling this function causes all Qt's internal debug messages to be
- * sent to @p handler. If @p handler is @c null, Qt's default message
- * handler is re-installed. In other words, via an internal proxy function,
- * it installs @p handler as Qt's message handler.
- *
- * If @p handler is heap allocated, it will be leaked.
- *
- * @see qInstallMsgHandler()
- */
- static void installQtMessageHandler(ErrorHandler *const handler);
-
- static ErrorHandler *handler;
-
- protected:
- virtual void handleMessage(QtMsgType type,
- const QString &description,
- const QUrl &identifier = QUrl(),
- const QSourceLocation &sourceLocation = QSourceLocation());
-
- private:
- ErrorHandler::Message::List m_messages;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp b/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp
deleted file mode 100644
index 57edc1f764..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QList>
-#include <QPointer>
-#include <QVariant>
-
-#include "qreportcontext_p.h"
-#include "qcommonnamespaces_p.h"
-
-#include "ErrorItem.h"
-
-using namespace QPatternistSDK;
-
-QString ErrorItem::toString(const QtMsgType type)
-{
- switch(type)
- {
- case QtWarningMsg:
- return QLatin1String("Warning");
- case QtFatalMsg:
- return QLatin1String("Error");
- default:
- {
- Q_ASSERT(false);
- return QString();
- }
- }
-}
-
-ErrorItem::ErrorItem(const ErrorHandler::Message &error,
- ErrorItem *p) : m_message(error),
- m_parent(p)
-{
-}
-
-ErrorItem::~ErrorItem()
-{
- qDeleteAll(m_children);
-}
-
-int ErrorItem::columnCount() const
-{
- return 3;
-}
-
-QVariant ErrorItem::data(const Qt::ItemDataRole role, int column) const
-{
- if(role != Qt::DisplayRole)
- return QVariant();
-
- switch(column)
- {
- case 0:
- return toString(m_message.type());
- case 1:
- {
- if(!m_message.type()) /* It's a warning, likely. */
- return QString();
-
- QString ns;
- const QString code(QPatternist::ReportContext::codeFromURI(m_message.identifier().toString(), ns));
-
- if(ns == QPatternist::CommonNamespaces::XPERR)
- return code;
- else /* Do the full version. */
- return m_message.type();
- }
- case 2:
- return m_message.description();
- default:
- {
- Q_ASSERT(false);
- return QVariant();
- }
- }
-}
-
-TreeItem::List ErrorItem::children() const
-{
- return m_children;
-}
-
-void ErrorItem::appendChild(TreeItem *item)
-{
- m_children.append(item);
-}
-
-TreeItem *ErrorItem::child(const unsigned int rowP) const
-{
- return m_children.value(rowP);
-}
-
-unsigned int ErrorItem::childCount() const
-{
- return m_children.count();
-}
-
-TreeItem *ErrorItem::parent() const
-{
- return m_parent;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorItem.h b/tests/auto/xmlpatternsxqts/lib/ErrorItem.h
deleted file mode 100644
index 1d05872c47..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ErrorItem.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ErrorItem_H
-#define PatternistSDK_ErrorItem_H
-
-#include <QList>
-
-#include "ErrorHandler.h"
-#include "Global.h"
-#include "TreeItem.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Delegates a ErrorHandler::Message through the interface
- * exposed by TreeItem, such that errors from DOM related code
- * can be displayed/used in Qt's model/view framework.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ErrorItem : public TreeItem
- {
- public:
- ErrorItem(const ErrorHandler::Message &error, ErrorItem *parent);
- virtual ~ErrorItem();
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
-
- virtual void appendChild(TreeItem *item);
- virtual TreeItem *child(const unsigned int row) const;
- virtual unsigned int childCount() const;
- virtual TreeItem::List children() const;
- virtual TreeItem *parent() const;
- int columnCount() const;
-
- private:
- static QString toString(const QtMsgType sev);
-
- const ErrorHandler::Message m_message;
- ErrorItem * m_parent;
- TreeItem::List m_children;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExitCode.h b/tests/auto/xmlpatternsxqts/lib/ExitCode.h
deleted file mode 100644
index e1810b1dd3..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExitCode.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ExitCode_H
-#define PatternistSDK_ExitCode_H
-
-#include "Global.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Houses program exit codes for PatternistSDK utilities.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ExitCode
- {
- public:
- /**
- * Exit codes for programs part of PatternistSDK. The values for the enums are specified
- * to make it easily understandable what number a symbol corresponds to.
- */
- enum Code
- {
- Success = 0,
- InvalidArgCount = 1,
- InvalidArgs = 2,
-
- /**
- * Used in @c patternistrunsuite
- */
- InvalidCatalogFile = 3,
- FileNotExists = 4,
- OpenError = 5,
- WriteError = 6,
-
- /**
- * Used in the test program used for comparing files on the byte level.
- */
- NotEqual = 7,
- UnevenTestCount = 8,
- InternalError = 9,
- Regression = 10
- };
-
- private:
- /**
- * This constructor is private and has no implementation, because this
- * class is not supposed to be instantiated.
- */
- inline ExitCode();
-
- Q_DISABLE_COPY(ExitCode)
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp
deleted file mode 100644
index abbc8b3db8..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "ExpressionInfo.h"
-
-using namespace QPatternistSDK;
-
-ExpressionInfo::ExpressionInfo(const QString &name,
- const QString &details) : QPair<QString, QString>(name, details)
-{
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h
deleted file mode 100644
index 2d9d398aeb..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ExpressionInfo_H
-#define PatternistSDK_ExpressionInfo_H
-
-#include "Global.h"
-#include "qexpressiondispatch_p.h"
-
-#include <QPair>
-#include <QString>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Houses debug information about an QPatternist::Expression instance.
- *
- * An Expression's name, typically its class name, can be retrieved
- * via the member variable first, and additional data, for example its string
- * value or operator, can be retrieved via the member variable second.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ExpressionInfo : public QPatternist::ExpressionVisitorResult
- , public QPair<QString, QString>
- {
- public:
- ExpressionInfo(const QString &name, const QString &details);
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp
deleted file mode 100644
index 605c754fe3..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "qabstractfloat_p.h"
-#include "qandexpression_p.h"
-#include "qanyuri_p.h"
-#include "qapplytemplate_p.h"
-#include "qargumentreference_p.h"
-#include "qarithmeticexpression_p.h"
-#include "qatomicstring_p.h"
-#include "qatomizer_p.h"
-#include "qattributeconstructor_p.h"
-#include "qattributenamevalidator_p.h"
-#include "qaxisstep_p.h"
-#include "qbase64binary_p.h"
-#include "qboolean_p.h"
-#include "qcardinalityverifier_p.h"
-#include "qcastableas_p.h"
-#include "qcastas_p.h"
-#include "qcombinenodes_p.h"
-#include "qcontextitem_p.h"
-#include "qdate_p.h"
-#include "qdecimal_p.h"
-#include "qdynamiccontextstore_p.h"
-#include "qelementconstructor_p.h"
-#include "qemptysequence_p.h"
-#include "qevaluationcache_p.h"
-#include "qexpressionsequence_p.h"
-#include "qexpressionvariablereference_p.h"
-#include "qfirstitempredicate_p.h"
-#include "qforclause_p.h"
-#include "qfunctioncall_p.h"
-#include "qgday_p.h"
-#include "qgeneralcomparison_p.h"
-#include "qgenericpredicate_p.h"
-#include "qgmonthday_p.h"
-#include "qgmonth_p.h"
-#include "qgyearmonth_p.h"
-#include "qgyear_p.h"
-#include "qhexbinary_p.h"
-#include "qifthenclause_p.h"
-#include "qinstanceof_p.h"
-#include "qinteger_p.h"
-#include "qitem_p.h"
-#include "qitemverifier_p.h"
-#include "qliteral_p.h"
-#include "qnamespaceconstructor_p.h"
-#include "qncnameconstructor_p.h"
-#include "qnodecomparison_p.h"
-#include "qorexpression_p.h"
-#include "qpath_p.h"
-#include "qpositionalvariablereference_p.h"
-#include "qqnameconstructor_p.h"
-#include "qqnamevalue_p.h"
-#include "qquantifiedexpression_p.h"
-#include "qrangeexpression_p.h"
-#include "qrangevariablereference_p.h"
-#include "qschemadatetime_p.h"
-#include "qschematime_p.h"
-#include "qsimplecontentconstructor_p.h"
-#include "qtreatas_p.h"
-#include "qtruthpredicate_p.h"
-#include "quntypedatomicconverter_p.h"
-#include "quntypedatomic_p.h"
-#include "quserfunctioncallsite_p.h"
-#include "qvalidationerror_p.h"
-#include "qvaluecomparison_p.h"
-
-#include "ExpressionInfo.h"
-#include "Global.h"
-
-#include "ExpressionNamer.h"
-
-using namespace QPatternistSDK;
-
-/* Simple ones, they have no additional data. */
-#define implClass(cls) \
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *) const \
-{ \
- return QPatternist::ExpressionVisitorResult::Ptr \
- (new ExpressionInfo(QLatin1String(#cls), QString())); \
-}
-
-implClass(AndExpression)
-implClass(ArgumentConverter)
-implClass(Atomizer)
-implClass(AttributeConstructor)
-implClass(AttributeNameValidator)
-implClass(CallTemplate)
-implClass(CardinalityVerifier)
-implClass(CollationChecker)
-implClass(CommentConstructor)
-implClass(ComputedNamespaceConstructor)
-implClass(ContextItem)
-implClass(CopyOf)
-implClass(CurrentItemStore)
-implClass(DocumentConstructor)
-implClass(DynamicContextStore)
-implClass(EBVExtractor)
-implClass(ElementConstructor)
-implClass(EmptySequence)
-implClass(ExpressionSequence)
-implClass(ExternalVariableReference)
-implClass(FirstItemPredicate)
-implClass(ForClause)
-implClass(GenericPredicate)
-implClass(IfThenClause)
-implClass(ItemVerifier)
-implClass(LetClause)
-implClass(LiteralSequence)
-implClass(NCNameConstructor)
-implClass(NodeSortExpression)
-implClass(OrderBy)
-implClass(OrExpression)
-implClass(ParentNodeAxis)
-implClass(ProcessingInstructionConstructor)
-implClass(QNameConstructor)
-implClass(RangeExpression)
-implClass(ReturnOrderBy)
-implClass(SimpleContentConstructor)
-implClass(StaticBaseURIStore)
-implClass(StaticCompatibilityStore)
-implClass(TemplateParameterReference)
-implClass(TextNodeConstructor)
-implClass(TreatAs)
-implClass(TruthPredicate)
-implClass(UnresolvedVariableReference)
-implClass(UntypedAtomicConverter)
-implClass(UserFunctionCallsite)
-implClass(ValidationError)
-#undef implClass
-
-/** Variable references. */
-#define implVarRef(name) \
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::name *i) const \
-{ \
- return QPatternist::ExpressionVisitorResult::Ptr \
- (new ExpressionInfo(QLatin1String(#name), \
- QString(QLatin1String("Slot: %1")).arg(i->slot()))); \
-}
-implVarRef(RangeVariableReference)
-implVarRef(ArgumentReference)
-implVarRef(ExpressionVariableReference)
-implVarRef(PositionalVariableReference)
-#undef implVarRef
-
-/* Type related classes which have a targetType() function. */
-#define implTypeClass(cls) \
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
-{ \
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
- i->targetType()->displayName(Global::namePool()))); \
-}
-
-implTypeClass(InstanceOf)
-implTypeClass(CastableAs)
-#undef implTypeClass
-
-/* Type related classes which have a targetType() function. */
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::CastAs *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("CastAs"),
- i->targetSequenceType()->displayName(Global::namePool())));
-}
-
-/* Classes which represent operators. */
-#define implOPClass(cls, compClass) \
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
-{ \
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
- QPatternist::compClass::displayName(i->operatorID()))); \
-}
-
-implOPClass(ArithmeticExpression, AtomicMathematician)
-implOPClass(NodeComparison, NodeComparison)
-implOPClass(QuantifiedExpression, QuantifiedExpression)
-implOPClass(CombineNodes, CombineNodes)
-#undef implOPClass
-
-/* Classes which represent operators. */
-#define implCompClass(cls, type) \
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
-{ \
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
- QPatternist::AtomicComparator::displayName(i->operatorID(), \
- QPatternist::AtomicComparator::type))); \
-}
-
-implCompClass(GeneralComparison, AsGeneralComparison)
-implCompClass(ValueComparison, AsValueComparison)
-#undef implCompClass
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::FunctionCall *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr
- (new ExpressionInfo(QLatin1String("FunctionCall"),
- Global::namePool()->displayName(i->signature()->name())));
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::Literal *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(
- i->item().type()->displayName(Global::namePool()),
- i->item().stringValue()));
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::AxisStep *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("AxisStep"),
- QPatternist::AxisStep::axisName(i->axis()) +
- QLatin1String("::") +
- i->nodeTest()->displayName(Global::namePool())));
-
-}
-
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::EvaluationCache<true> *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("EvaluationCache<IsForGlobal=true>"),
- QLatin1String("Slot: ") + QString::number(i->slot())));
-
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::EvaluationCache<false> *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("EvaluationCache<IsForGlobal=false>"),
- QLatin1String("Slot: ") + QString::number(i->slot())));
-
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::NamespaceConstructor *i) const
-{
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("NamespaceConstructor"),
- Global::namePool()->stringForPrefix(i->namespaceBinding().prefix()) +
- QLatin1Char('=') +
- Global::namePool()->stringForNamespace(i->namespaceBinding().namespaceURI())));
-
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::Path *path) const
-{
-
- QPatternist::Path::Kind k = path->kind();
- QString type;
-
- switch(k)
- {
- case QPatternist::Path::XSLTForEach:
- {
- type = QLatin1String("XSLTForEach");
- break;
- }
- case QPatternist::Path::RegularPath:
- {
- type = QLatin1String("RegularPath");
- break;
- }
- case QPatternist::Path::ForApplyTemplate:
- {
- type = QLatin1String("ForApplyTemplate");
- break;
- }
- }
-
- return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("Path"), type));
-}
-
-QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::ApplyTemplate *path) const
-{
- const QPatternist::TemplateMode::Ptr mode(path->mode());
- return QPatternist::ExpressionVisitorResult::Ptr
- (new ExpressionInfo(QLatin1String("ApplyTemplate"), mode ? Global::namePool()->displayName(mode->name()) : QString::fromLatin1("#current")));
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h
deleted file mode 100644
index 129d8d7f68..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ExpressionNamer_H
-#define PatternistSDK_ExpressionNamer_H
-
-#include "Global.h"
-#include "qexpressiondispatch_p.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Extracts debug information from a QPatternist::Expression tree.
- *
- * This data is the name of the AST node(typically the class name),
- * and additional data such as the value, type of operator, and so forth. The result
- * is returned(from visit()), is an ExpressionInfo instance.
- *
- * @see ExpressionInfo
- * @see ASTItem
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ExpressionNamer : public QPatternist::ExpressionVisitor
- {
- public:
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::AndExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ApplyTemplate *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ArgumentReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ArithmeticExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::Atomizer *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::AttributeConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::AttributeNameValidator *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CallTemplate *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CardinalityVerifier *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CastAs *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CastableAs *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CollationChecker *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CombineNodes *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ComputedNamespaceConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CommentConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ContextItem *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CopyOf *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::CurrentItemStore *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::DocumentConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::DynamicContextStore *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::EBVExtractor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ElementConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::EmptySequence *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ExpressionSequence *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ExpressionVariableReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ExternalVariableReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::EvaluationCache<true> *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::EvaluationCache<false> *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::FirstItemPredicate *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ForClause *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::FunctionCall *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::GeneralComparison *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::GenericPredicate *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::IfThenClause *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::InstanceOf *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ItemVerifier *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::LetClause *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::Literal *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::LiteralSequence *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::NCNameConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::NodeComparison *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::NodeSortExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::OrderBy *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::OrExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ParentNodeAxis *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::Path *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::PositionalVariableReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ProcessingInstructionConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::QNameConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::QuantifiedExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::RangeExpression *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::RangeVariableReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ReturnOrderBy *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::SimpleContentConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::StaticBaseURIStore *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::StaticCompatibilityStore *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::AxisStep *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::TemplateParameterReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::TextNodeConstructor *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::TreatAs *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::TruthPredicate *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::UntypedAtomicConverter *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::UnresolvedVariableReference *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ArgumentConverter *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::UserFunctionCallsite *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ValidationError *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::ValueComparison *) const;
-
- virtual QPatternist::ExpressionVisitorResult::Ptr
- visit(const QPatternist::NamespaceConstructor *) const;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp
deleted file mode 100644
index a83a100f6c..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QCoreApplication>
-#include <QFile>
-#include <QtDebug>
-#include <QXmlResultItems>
-#include <QXmlNamePool>
-
-#include "Global.h"
-
-#include "qcommonsequencetypes_p.h"
-#include "qdebug_p.h"
-#include "qatomicstring_p.h"
-
-#include "ExternalSourceLoader.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-ExternalSourceLoader::ExternalSourceLoader(const VariableMap &varMap,
- const QPatternist::ResourceLoader::Ptr &r) : m_variableMap(varMap)
- , m_resourceLoader(r)
- , m_query(Global::namePoolAsPublic())
-{
- Q_ASSERT(m_resourceLoader);
-}
-
-QPatternist::SequenceType::Ptr
-ExternalSourceLoader::announceExternalVariable(const QXmlName name,
- const QPatternist::SequenceType::Ptr &declaredType)
-{
- pDebug() << "ExternalSourceLoader::announceExternalVariable()";
- Q_ASSERT(!name.isNull());
- Q_ASSERT(declaredType);
- Q_UNUSED(declaredType); /* Needed when bulding in release mode. */
-
- if(name.namespaceURI() == QPatternist::StandardNamespaces::empty)
- {
- const VariableValue variable(m_variableMap.value(Global::namePool()->stringForLocalName(name.localName())));
-
- if(variable.first.isEmpty())
- return QPatternist::SequenceType::Ptr();
- else
- {
- /* If announceDocument() can't load a document for uriForVar, it will return
- * null, which we will too, which is fine, since we can't supply a value for
- * this variable then. */
- if(variable.second == Document)
- return m_resourceLoader->announceDocument(variable.first, QPatternist::ResourceLoader::WillUse);
- else if(variable.second == URI)
- {
- return QPatternist::CommonSequenceTypes::ExactlyOneString;
- }
- else
- {
- /* The type is Query, and we don't pre-load
- * them. No particular reason, just not worth it. */
- return QPatternist::CommonSequenceTypes::ZeroOrMoreItems;
- }
- }
- }
- else
- return QPatternist::SequenceType::Ptr();
-}
-
-QPatternist::Item
-ExternalSourceLoader::evaluateSingleton(const QXmlName name,
- const QPatternist::DynamicContext::Ptr &context)
-{
- Q_ASSERT(!name.isNull());
- const VariableValue variable(m_variableMap.value(Global::namePool()->stringForLocalName(name.localName())));
-
- if(variable.second == Document)
- {
- Q_ASSERT_X(QFile::exists(variable.first.toLocalFile()), Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("The file %1 doesn't exist").arg(variable.first.toLocalFile())));
- Q_ASSERT_X(m_resourceLoader->openDocument(variable.first, context), Q_FUNC_INFO,
- "We're supposed to have the value. If not, an error should have been issued at query compile time.");
-
- return m_resourceLoader->openDocument(variable.first, context);
- }
- else if(variable.second == Query)
- {
- /* Well, here we open the file and execute it. */
- m_query.setQuery(QUrl::fromLocalFile(variable.first.toLocalFile()));
- Q_ASSERT(m_query.isValid());
-
- QXmlResultItems result;
- m_query.evaluateTo(&result);
-
- return QPatternist::Item::fromPublic(result.next());
- }
- else
- {
- Q_ASSERT(variable.second == URI);
- return QPatternist::AtomicString::fromValue(variable.first.toString());
- }
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h
deleted file mode 100644
index 2d88222677..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ExternalSourceLoader_H
-#define PatternistSDK_ExternalSourceLoader_H
-
-#include <QHash>
-#include <QUrl>
-#include <QXmlQuery>
-
-#include "qdynamiccontext_p.h"
-#include "qresourceloader_p.h"
-#include "qexternalvariableloader_p.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Handles external variables in XQTS queries, such as <tt>$input-context</tt>,
- * by loading appropriate XML source files.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT ExternalSourceLoader : public QPatternist::ExternalVariableLoader
- {
- public:
- enum TargetOfURI
- {
- /**
- * Identifies @c input-file.
- */
- Document,
-
- /**
- * Identifies @c input-URI.
- */
- URI,
-
- /**
- * Identifies @c input-query.
- */
- Query
- };
-
- /**
- * The first is the complete, absolute, final URI to the file to be loaded,
- * and the second is the type of source found at that URI.
- */
- typedef QPair<QUrl, TargetOfURI> VariableValue;
-
- /**
- * In the XQTSCatalog.xml each source file in each test is referred to
- * by a key, which can be fully looked up in the @c sources element. This QHash
- * maps the keys to absolute URIs pointing to the source file.
- */
- typedef QHash<QString, QUrl> SourceMap;
-
- /**
- * The first value is the variable name, and the second is the URI identifying
- * the XML source file that's supposed to be loaded as a document.
- *
- * This is one for every test case, except for @c rdb-queries-results-q5,
- * @c rdb-queries-results-q17 and @c rdb-queries-results-q18(at least in XQTS 1.0).
- */
- typedef QHash<QString, VariableValue> VariableMap;
-
- ExternalSourceLoader(const VariableMap &varMap,
- const QPatternist::ResourceLoader::Ptr &resourceLoader);
-
- virtual QPatternist::SequenceType::Ptr
- announceExternalVariable(const QXmlName name,
- const QPatternist::SequenceType::Ptr &declaredType);
-
- virtual QPatternist::Item
- evaluateSingleton(const QXmlName name,
- const QPatternist::DynamicContext::Ptr &context);
-
- VariableMap variableMap() const
- {
- return m_variableMap;
- }
-
- private:
- const VariableMap m_variableMap;
- const QPatternist::ResourceLoader::Ptr m_resourceLoader;
- QXmlQuery m_query;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Global.cpp b/tests/auto/xmlpatternsxqts/lib/Global.cpp
deleted file mode 100644
index f78e4211ae..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/Global.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QXmlNamePool>
-
-#include "Global.h"
-
-using namespace QPatternistSDK;
-
-const QString Global::xqtsCatalogNS (QLatin1String("http://www.w3.org/2005/02/query-test-XQTSCatalog"));
-const QString Global::xqtsResultNS (QLatin1String("http://www.w3.org/2005/02/query-test-XQTSResult"));
-const QString Global::xsltsCatalogNS (QLatin1String("http://www.w3.org/2005/05/xslt20-test-catalog"));
-const QString Global::organizationName (QLatin1String("Patternist Team"));
-const qint16 Global::versionNumber (0x01);
-
-static QXmlNamePool s_namePool;
-
-QPatternist::NamePool::Ptr Global::namePool()
-{
- return s_namePool.d;
-}
-
-QXmlNamePool Global::namePoolAsPublic()
-{
- return s_namePool;
-}
-
-bool Global::readBoolean(const QString &value)
-{
- const QString normd(value.simplified());
-
- if(normd == QLatin1String("true") ||
- normd == QLatin1String("1"))
- return true;
- else if(normd.isEmpty() ||
- normd == QLatin1String("false") ||
- normd == QLatin1String("0"))
- return false;
-
- Q_ASSERT_X(false, Q_FUNC_INFO,
- "The lexical representation of xs:boolean was invalid");
- return false;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Global.h b/tests/auto/xmlpatternsxqts/lib/Global.h
deleted file mode 100644
index 53c32cbb6a..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/Global.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_Global_H
-#define PatternistSDK_Global_H
-
-#include <QString>
-
-#include "private/qitem_p.h"
-#include "private/qnamepool_p.h"
-
-#if defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
-# ifdef Q_PATTERNISTSDK_BUILDING
- #define Q_PATTERNISTSDK_EXPORT __declspec(dllexport)
- #else
- #define Q_PATTERNISTSDK_EXPORT __declspec(dllimport)
- #endif
-#else
- #define Q_PATTERNISTSDK_EXPORT
-#endif
-
-/**
- * @short Contains testing utilities for Patternist, interfacing W3C's XQuery Test Suite.
- *
- * @see <a href="http://www.w3.org/XML/Query/test-suite/">XML Query Test Suite</a>
- * @author Frans Englich <frans.englich@nokia.com>
- */
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Contains global constants.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT Global
- {
- public:
-
- /**
- * The namespace which the XQTS test case catalog(specified by Catalog.xsd)
- * is in. The namespace is: <tt>http://www.w3.org/2005/02/query-test-XQTSCatalog</tt>
- */
- static const QString xqtsCatalogNS;
-
- /**
- * The namespace which the XQTS test results collection(specified by XQTSResult.xsd)
- * is in. The namespace is: <tt>http://www.w3.org/2005/02/query-test-XQTSResult</tt>
- */
- static const QString xqtsResultNS;
-
- /**
- * The organization which created PatternistSDK. It say something
- * in the direction of "Patternist Team", and is used for QSettings and the like.
- */
- static const QString organizationName;
-
- /**
- * The namespace which W3C's XSL-T test suite resides in.
- */
- static const QString xsltsCatalogNS;
-
- /**
- * The version of PatternistSDK. The value has currently no other
- * meaning than that larger means older. This version information is supplied to
- * QMainWindow::restoreState() and QMainWindow::saveState().
- */
- static const qint16 versionNumber;
-
- /**
- * Parses the lexical space of @c xs:boolean,
- * with the exception that the empty string is considered @c false.
- */
- static bool readBoolean(const QString &lexicalSpace);
-
- static QPatternist::NamePool::Ptr namePool();
- static QXmlNamePool namePoolAsPublic();
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp b/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp
deleted file mode 100644
index 3296854dcc..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QEventLoop>
-
-#include "ResultThreader.h"
-
-using namespace QPatternistSDK;
-
-ResultThreader::ResultThreader(QEventLoop &ev,
- QFile *file,
- const Type t,
- QObject *p) : QThread(p)
- , m_file(file)
- , m_type(t)
- , m_eventLoop(ev)
-{
- Q_ASSERT_X(p, Q_FUNC_INFO, "Should have a parent");
- Q_ASSERT_X(file, Q_FUNC_INFO, "Should have a valid file");
- Q_ASSERT(m_type == Baseline || m_type == Result);
-}
-
-void ResultThreader::run()
-{
- QXmlSimpleReader reader;
- reader.setContentHandler(this);
-
- QXmlInputSource source(m_file);
- reader.parse(source);
- m_file->close();
-}
-
-ResultThreader::Type ResultThreader::type() const
-{
- return m_type;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ResultThreader.h b/tests/auto/xmlpatternsxqts/lib/ResultThreader.h
deleted file mode 100644
index 19749f0ac7..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/ResultThreader.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_ResultThreader_H
-#define PatternistSDK_ResultThreader_H
-
-#include <QFile>
-#include <QFileInfo>
-#include <QThread>
-
-#include "TestResultHandler.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QEventLoop;
-
-namespace QPatternistSDK
-{
- /**
- * @short Reads XML in the @c XQTSResult.xsd format, as a thread, allowing
- * multiple parses to be done simultaneously.
- *
- * @author Frans Englich <frans.englich@nokia.com>
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT ResultThreader : public QThread
- , public TestResultHandler
- {
- public:
- enum Type
- {
- Baseline = 1,
- Result
- };
-
- /**
- * Creates a ResultThreader that will read @p file when run() is called.
- */
- ResultThreader(QEventLoop &ev,
- QFile *file,
- const Type type,
- QObject *parent);
-
- /**
- * Parses the file passed in this class's constructor with this ResultHandlerTH::Item::LisT
- * as the QXmlContentHandler, and returns.
- */
- virtual void run();
-
- /**
- * @note Do not reimplement this function.
- * @returns whether this ResultThreader handles the baseline or the result.
- */
- Type type() const;
-
- private:
- Q_DISABLE_COPY(ResultThreader)
-
- QFile *const m_file;
- const Type m_type;
- QEventLoop & m_eventLoop;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
deleted file mode 100644
index 6a46bcc81b..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
+++ /dev/null
@@ -1,511 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDomDocument>
-#include <QFile>
-#include <QFileInfo>
-#include <QRegExp>
-#include <QtDebug>
-#include <QUrl>
-#include <QXmlAttributes>
-#include <QXmlSimpleReader>
-
-#include "qdebug_p.h"
-#include "XMLWriter.h"
-
-#include "TestBaseLine.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-Q_GLOBAL_STATIC_WITH_ARGS(QRegExp, errorRegExp, (QLatin1String("[A-Z]{4}[0-9]{4}")))
-
-TestBaseLine::TestBaseLine(const Type t) : m_type(t)
-{
- Q_ASSERT(errorRegExp()->isValid());
-}
-
-TestResult::Status TestBaseLine::scan(const QString &serialized,
- const TestBaseLine::List &lines)
-{
- Q_ASSERT_X(lines.count() >= 1, Q_FUNC_INFO,
- "At least one base line must be passed, otherwise there's nothing "
- "to compare to.");
-
- const TestBaseLine::List::const_iterator end(lines.constEnd());
- TestBaseLine::List::const_iterator it(lines.constBegin());
- for(; it != end; ++it)
- {
- const TestResult::Status retval((*it)->verify(serialized));
-
- if(retval == TestResult::Pass || retval == TestResult::NotTested)
- return retval;
- }
-
- return TestResult::Fail;
-}
-
-TestResult::Status TestBaseLine::scanErrors(const ErrorHandler::Message::List &errors,
- const TestBaseLine::List &lines)
-{
- pDebug() << "TestBaseLine::scanErrors()";
-
- /* 1. Find the first error in @p errors that's a Patternist
- * error(not warning and not from Qt) and extract the error code. */
- QString errorCode;
-
- const ErrorHandler::Message::List::const_iterator end(errors.constEnd());
- ErrorHandler::Message::List::const_iterator it(errors.constBegin());
- for(; it != end; ++it)
- {
- if((*it).type() != QtFatalMsg)
- continue;
-
- errorCode = QUrl((*it).identifier()).fragment();
-
- pDebug() << "ERR:" << (*it).description();
- /* This is hackish. We have no way of determining whether a Message
- * is actually issued from Patternist, so we try to narrow it down like this. */
- if(errorRegExp()->exactMatch(errorCode))
- break; /* It's an error code. */
- else
- errorCode.clear();
- }
-
- pDebug() << "Got error code: " << errorCode;
- /* 2. Loop through @p lines, and for the first base line
- * which is of type ExpectedError and which matches @p errorCode
- * return Pass, otherwise Fail. */
- const TestBaseLine::List::const_iterator blend(lines.constEnd());
- TestBaseLine::List::const_iterator blit(lines.constBegin());
- for(; blit != blend; ++blit)
- {
- const Type t = (*blit)->type();
-
- if(t == TestBaseLine::ExpectedError)
- {
- const QString d((*blit)->details());
- if(d == errorCode || d == QChar::fromLatin1('*'))
- return TestResult::Pass;
- }
- }
-
- return TestResult::Fail;
-}
-
-void TestBaseLine::toXML(XMLWriter &receiver) const
-{
- switch(m_type)
- {
- case XML: /* Fallthrough. */
- case Fragment: /* Fallthrough. */
- case SchemaIsValid: /* Fallthrough. */
- case Text:
- {
- QXmlAttributes inspectAtts;
- inspectAtts.append(QLatin1String("role"), QString(),
- QLatin1String("role"), QLatin1String("principal"));
- inspectAtts.append(QLatin1String("compare"), QString(),
- QLatin1String("compare"), displayName(m_type));
- receiver.startElement(QLatin1String("output-file"), inspectAtts);
- receiver.characters(m_details);
- receiver.endElement(QLatin1String("output-file"));
- return;
- }
- case Ignore:
- {
- Q_ASSERT_X(false, Q_FUNC_INFO, "Serializing 'Ignore' is not implemented.");
- return;
- }
- case Inspect:
- {
- QXmlAttributes inspectAtts;
- inspectAtts.append(QLatin1String("role"), QString(),
- QLatin1String("role"), QLatin1String("principal"));
- inspectAtts.append(QLatin1String("compare"), QString(),
- QLatin1String("compare"), QLatin1String("Inspect"));
- receiver.startElement(QLatin1String("output-file"), inspectAtts);
- receiver.characters(m_details);
- receiver.endElement(QLatin1String("output-file"));
- return;
- }
- case ExpectedError:
- {
- receiver.startElement(QLatin1String("expected-error"));
- receiver.characters(m_details);
- receiver.endElement(QLatin1String("expected-error"));
- return;
- }
- }
-}
-
-bool TestBaseLine::isChildrenDeepEqual(const QDomNodeList &cl1, const QDomNodeList &cl2)
-{
- const unsigned int len = cl1.length();
-
- if(len == cl2.length())
- {
- for(unsigned int i = 0; i < len; ++i)
- {
- if(!isDeepEqual(cl1.at(i), cl2.at(i)))
- return false;
- }
-
- return true;
- }
- else
- return false;
-}
-
-bool TestBaseLine::isAttributesEqual(const QDomNamedNodeMap &cl1, const QDomNamedNodeMap &cl2)
-{
- const unsigned int len = cl1.length();
- pDebug() << "LEN:" << len;
-
- if(len == cl2.length())
- {
- for(unsigned int i1 = 0; i1 < len; ++i1)
- {
- const QDomNode attr1(cl1.item(i1));
- Q_ASSERT(!attr1.isNull());
-
- /* This is set if attr1 cannot be found at all in cl2. */
- bool earlyExit = false;
-
- for(unsigned int i2 = 0; i2 < len; ++i2)
- {
- const QDomNode attr2(cl2.item(i2));
- Q_ASSERT(!attr2.isNull());
- pDebug() << "ATTR1:" << attr1.localName() << attr1.namespaceURI() << attr1.prefix() << attr1.nodeName();
- pDebug() << "ATTR2:" << attr2.localName() << attr2.namespaceURI() << attr2.prefix() << attr2.nodeName();
-
- if(attr1.localName() == attr2.localName() &&
- attr1.namespaceURI() == attr2.namespaceURI() &&
- attr1.prefix() == attr2.prefix() &&
- attr1.nodeName() == attr2.nodeName() && /* Yes, needed in addition to all the other. */
- attr1.nodeValue() == attr2.nodeValue())
- {
- earlyExit = true;
- break;
- }
- }
-
- if(!earlyExit)
- {
- /* An attribute was found that doesn't exist in the other list so exit. */
- return false;
- }
- }
-
- return true;
- }
- else
- return false;
-}
-
-bool TestBaseLine::isDeepEqual(const QDomNode &n1, const QDomNode &n2)
-{
- if(n1.nodeType() != n2.nodeType())
- return false;
-
- switch(n1.nodeType())
- {
- case QDomNode::CommentNode:
- /* Fallthrough. */
- case QDomNode::TextNode:
- {
- return static_cast<const QDomCharacterData &>(n1).data() ==
- static_cast<const QDomCharacterData &>(n2).data();
- }
- case QDomNode::ProcessingInstructionNode:
- {
- return n1.nodeName() == n2.nodeName() &&
- n1.nodeValue() == n2.nodeValue();
- }
- case QDomNode::DocumentNode:
- return isChildrenDeepEqual(n1.childNodes(), n2.childNodes());
- case QDomNode::ElementNode:
- {
- return n1.localName() == n2.localName() &&
- n1.namespaceURI() == n2.namespaceURI() &&
- n1.nodeName() == n2.nodeName() && /* Yes, this one is needed in addition to localName(). */
- isAttributesEqual(n1.attributes(), n2.attributes()) &&
- isChildrenDeepEqual(n1.childNodes(), n2.childNodes());
- }
- /* Fallthrough all these. */
- case QDomNode::EntityReferenceNode:
- case QDomNode::CDATASectionNode:
- case QDomNode::EntityNode:
- case QDomNode::DocumentTypeNode:
- case QDomNode::DocumentFragmentNode:
- case QDomNode::NotationNode:
- case QDomNode::BaseNode:
- case QDomNode::CharacterDataNode:
- {
- Q_ASSERT_X(false, Q_FUNC_INFO,
- "An unsupported node type was encountered.");
- return false;
- }
- case QDomNode::AttributeNode:
- {
- Q_ASSERT_X(false, Q_FUNC_INFO,
- "This should never happen. QDom doesn't allow us to compare DOM attributes "
- "properly.");
- return false;
- }
- default:
- {
- Q_ASSERT_X(false, Q_FUNC_INFO, "Unhandled QDom::NodeType value.");
- return false;
- }
- }
-}
-
-TestResult::Status TestBaseLine::verify(const QString &serializedInput) const
-{
- switch(m_type)
- {
- case SchemaIsValid:
- /* Fall through. */
- case Text:
- {
- if(serializedInput == details())
- return TestResult::Pass;
- else
- return TestResult::Fail;
- }
- case Fragment:
- /* Fall through. */
- case XML:
- {
- /* Read the baseline and the serialized input into two QDomDocuments, and compare
- * them deeply. We wrap fragments in a root node such that it is well-formed XML.
- */
-
- QDomDocument output;
- {
- /* The reason we put things into a QByteArray and then parse it through QXmlSimpleReader, is that
- * QDomDocument does whitespace stripping when calling setContent(QString). In other words,
- * this workarounds a bug. */
-
- QXmlInputSource source;
- source.setData((m_type == XML ? serializedInput : QLatin1String("<r>") +
- serializedInput +
- QLatin1String("</r>")).toUtf8());
-
- QString outputReadingError;
-
- QXmlSimpleReader reader;
- reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true);
-
- const bool success = output.setContent(&source,
- &reader,
- &outputReadingError);
-
- if(!success)
- return TestResult::Fail;
-
- Q_ASSERT(success);
- }
-
- QDomDocument baseline;
- {
- QXmlInputSource source;
- source.setData((m_type == XML ? details() : QLatin1String("<r>") +
- details() +
- QLatin1String("</r>")).toUtf8());
- QString baselineReadingError;
-
- QXmlSimpleReader reader;
- reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true);
-
- const bool success = baseline.setContent(&source,
- &reader,
- &baselineReadingError);
-
- if(!success)
- return TestResult::Fail;
-
- /* This piece of code workaround a bug in QDom, which treats XML prologs as processing
- * instructions and make them available in the tree as so. */
- if(m_type == XML)
- {
- /* $doc/r/node() */
- const QDomNodeList children(baseline.childNodes());
- const int len = children.length();
-
- for(int i = 0; i < len; ++i)
- {
- const QDomNode &child = children.at(i);
- if(child.isProcessingInstruction() && child.nodeName() == QLatin1String("xml"))
- {
- baseline.removeChild(child);
- break;
- }
- }
- }
-
- Q_ASSERT_X(baselineReadingError.isNull(), Q_FUNC_INFO,
- qPrintable((QLatin1String("Reading the baseline failed: ") + baselineReadingError)));
- }
-
- if(isDeepEqual(output, baseline))
- return TestResult::Pass;
- else
- {
- pDebug() << "FAILURE:" << output.toString() << "is NOT IDENTICAL to(baseline):" << baseline.toString();
- return TestResult::Fail;
- }
- }
- case Ignore:
- return TestResult::Pass;
- case Inspect:
- return TestResult::NotTested;
- case ExpectedError:
- {
- /* This function is only called for Text/XML/Fragment tests. */
- return TestResult::Fail;
- }
- }
- Q_ASSERT(false);
- return TestResult::Fail;
-}
-
-TestBaseLine::Type TestBaseLine::identifierFromString(const QString &string)
-{
- /* "html-output: Using an ad hoc tool, it must assert that the document obeys the HTML
- * Output Method as defined in the Serialization specification and section
- * 20 of the XSLT 2.0 specification." We treat it as XML for now, same with
- * xhtml-output. */
- if(string.compare(QLatin1String("XML"), Qt::CaseInsensitive) == 0 ||
- string == QLatin1String("html-output") ||
- string == QLatin1String("xml-output") ||
- string == QLatin1String("xhtml-output"))
- return XML;
- else if(string == QLatin1String("Fragment") || string == QLatin1String("xml-frag"))
- return Fragment;
- else if(string.compare(QLatin1String("Text"), Qt::CaseInsensitive) == 0)
- return Text;
- else if(string == QLatin1String("Ignore"))
- return Ignore;
- else if(string.compare(QLatin1String("Inspect"), Qt::CaseInsensitive) == 0)
- return Inspect;
- else
- {
- Q_ASSERT_X(false, Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("Invalid string representation for a comparation type: %1").arg(string)));
-
- return Ignore; /* Silence GCC. */
- }
-}
-
-QString TestBaseLine::displayName(const Type id)
-{
- switch(id)
- {
- case XML:
- return QLatin1String("XML");
- case Fragment:
- return QLatin1String("Fragment");
- case Text:
- return QLatin1String("Text");
- case Ignore:
- return QLatin1String("Ignore");
- case Inspect:
- return QLatin1String("Inspect");
- case ExpectedError:
- return QLatin1String("ExpectedError");
- case SchemaIsValid:
- return QLatin1String("SchemaIsValid");
- }
-
- Q_ASSERT(false);
- return QString();
-}
-
-QString TestBaseLine::details() const
-{
- if(m_type == Ignore) /* We're an error code. */
- return QString();
- if(m_type == ExpectedError) /* We're an error code. */
- return m_details;
- if(m_type == SchemaIsValid) /* We're a schema validation information . */
- return m_details;
-
- if(m_details.isEmpty())
- return m_details;
-
- /* m_details is a file name, we open it and return the result. */
- QFile file(QUrl(m_details).toLocalFile());
-
- QString retval;
- if(!file.exists())
- retval = QString::fromLatin1("%1 does not exist.").arg(file.fileName());
- else if(!QFileInfo(file.fileName()).isFile())
- retval = QString::fromLatin1("%1 is not a file, cannot display it.").arg(file.fileName());
- else if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
- retval = QString::fromLatin1("Could not open %1. Likely a permission error.").arg(file.fileName());
-
- if(retval.isNull())
- {
- /* Scary, we assume the query/baseline is in UTF-8. */
- return QString::fromUtf8(file.readAll());
- }
- else
- {
- /* We had a file error. */
- retval.prepend(QLatin1String("Test-suite harness error: "));
- qCritical() << retval;
- return retval;
- }
-}
-
-TestBaseLine::Type TestBaseLine::type() const
-{
- return m_type;
-}
-
-void TestBaseLine::setDetails(const QString &detailsP)
-{
- m_details = detailsP;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
deleted file mode 100644
index e297128c5d..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestBaseLine_H
-#define PatternistSDK_TestBaseLine_H
-
-#include <QString>
-
-#include "Global.h"
-#include "TestResult.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QDomNamedNodeMap;
-class QDomNode;
-class QDomNodeList;
-template<typename T> class QList;
-
-namespace QPatternistSDK
-{
- /**
- * @short Represents an expected test result for a test case.
- *
- * TestBaseLine represents a valid outcome for a test case,
- * the "base line". A XQTS test case can have many different valid
- * base lines, and one TestBaseLine instance represents on of them.
- *
- * Of highest interest, TestBaseLine have the function scan() and
- * scanErrors(), which allows serialized output to be
- * compared to the base line.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestBaseLine
- {
- public:
- typedef QList<TestBaseLine *> List;
-
- /**
- * Identifies what kind of comparator to use. The documentation
- * for each enumerator is copied from
- * <a href="http://www.w3.org/XML/Query/test-suite/Guidelines
- * for Running the XML Query Test Suite.html">Guidelines
- * for Running the XML Query Test Suite</a>
- */
- enum Type
- {
- /**
- * The test harness must canonicalize both, the actual result
- * and the expected result according to the "Canonical XML" recommendation [2],
- * which refers to a number of open-source implementations. Byte-comparison can
- * then be applied to the resulting XML documents. If the test harness does
- * this process in a different manner, it must be documented.
- */
- XML,
-
- /**
- * For XML fragments, the same root node must be created for both,
- * implementation result and test suite result. The resulting XML
- * can be compared using XML comparison.
- */
- Fragment,
-
- /**
- * Text (that has been produced by XML serialization) is compared
- * using byte-comparison.
- */
- Text,
-
- /**
- * No comparison needs to be applied; the result is always @c true if
- * the implementation successfully executes the test case.
- */
- Ignore,
-
- /**
- * A human is required to make the call about correctness of the result
- * according to the description in the test case.
- */
- Inspect,
-
- /**
- * The expected result of the test case is an error, identified as an
- * eight-character error code (e.g., XPST0003). The result of a test is
- * @c true, if the implementation raises an error. However, raising an error
- * because an implementation does not support the feature is not
- * considered a correct result.
- */
- ExpectedError,
-
- /**
- * A special comparison for the schema validation tests. The details
- * can only be 'true' or 'false' depending on whether it is a valid
- * schema or not.
- */
- SchemaIsValid
- };
-
- /**
- * Takes a string identifying a comparator either in the XSL-T or the
- * XQuery test suite, and returns an enum value for it.
- *
- * If the value is unknown, the code asserts.
- */
- static Type identifierFromString(const QString &string);
-
- /**
- * @returns a display name for @p id. For example, if Inspect was passed, "Inspect"
- * would be returned.
- */
- static QString displayName(const Type id);
-
- /**
- * Compares @p items(typically the result of an evaluation) against
- * the base lines @p lines.
- *
- * @returns the status of the first base line which passes,
- * otherwise TestResult::Fail.
- */
- static TestResult::Status scan(const QString &serialized,
- const TestBaseLine::List &lines);
-
- static TestResult::Status scanErrors(const ErrorHandler::Message::List &errors,
- const TestBaseLine::List &lines);
-
- /**
- * Constructs a TestBaseLine of type @p type.
- */
- TestBaseLine(const Type type);
-
- /**
- * What @p details contains depends on the type(). If the type() is ExpectedError,
- * @p details contains the relevant error code. If the type() is one which compares
- * result against a base line, it is a filename locating the baseline.
- */
- void setDetails(const QString &details);
-
- Type type() const;
-
- QString details() const;
-
- void toXML(XMLWriter &receiver) const;
-
- protected:
- TestResult::Status verify(const QString &serializedInput) const;
-
- private:
- static bool isDeepEqual(const QDomNode &n1, const QDomNode &n2);
-
- /**
- * @returns @c true if the nodes in @p cl1 are equal to @p cl2, by calling isDeepEqual()
- * for each pair.
- */
- static bool isChildrenDeepEqual(const QDomNodeList &cl1, const QDomNodeList &cl2);
-
- /**
- * Considers @p cl1 and @p cl2 to be lists containing attributes. The list are equal
- * if they contain attributes by same value and name, but regardless of order.
- */
- static bool isAttributesEqual(const QDomNamedNodeMap &cl1, const QDomNamedNodeMap &cl2);
- const Type m_type;
- QString m_details;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestCase.cpp b/tests/auto/xmlpatternsxqts/lib/TestCase.cpp
deleted file mode 100644
index 7b424d2e7b..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestCase.cpp
+++ /dev/null
@@ -1,439 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QBuffer>
-#include <QUrl>
-#include <QXmlAttributes>
-#include <QXmlQuery>
-#include <QXmlResultItems>
-#include <QXmlSerializer>
-#include <qxmlquery_p.h>
-
-#include "DebugExpressionFactory.h"
-#include "ExternalSourceLoader.h"
-#include "Global.h"
-#include "TestSuite.h"
-#include "XMLWriter.h"
-
-#include "TestCase.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-// STATIC DATA
-static const DebugExpressionFactory::Ptr s_exprFact(new DebugExpressionFactory());
-
-TestCase::TestCase() : m_result(0)
-{
-}
-
-TestCase::~TestCase()
-{
- delete m_result;
-}
-
-TestResult::List TestCase::execute(const ExecutionStage stage,
- TestSuite *)
-{
- if(name() == QLatin1String("Constr-cont-document-3"))
- {
- TestResult::List result;
- result.append(createTestResult(TestResult::Fail, QLatin1String("Skipped this test, because we loop infinitely on it.")));
- return result;
- }
- else if(name() == QLatin1String("Axes089"))
- {
- TestResult::List result;
- result.append(createTestResult(TestResult::Fail, QLatin1String("Skipped this test, we crash on it.")));
- return result;
- }
-
- qDebug() << "Running test case: " << name();
-
- return execute(stage);
-
- Q_ASSERT(false);
- return TestResult::List();
-}
-
-TestResult *TestCase::createTestResult(const TestResult::Status status,
- const QString &comment) const
-{
- TestResult *const result = new TestResult(name(),
- status,
- 0 /* We don't have an AST. */,
- ErrorHandler::Message::List(),
- QPatternist::Item::List(),
- QString());
- result->setComment(comment);
- return result;
-}
-
-TestResult::List TestCase::execute(const ExecutionStage stage)
-{
- ErrorHandler errHandler;
- ErrorHandler::installQtMessageHandler(&errHandler);
-
- pDebug() << "TestCase::execute()";
- delete m_result;
-
- QXmlQuery query(language(), Global::namePoolAsPublic());
-
- query.d->setExpressionFactory(s_exprFact);
- query.setInitialTemplateName(initialTemplateName());
-
- QXmlQuery openDoc(query.namePool());
-
- if(contextItemSource().isValid())
- {
- openDoc.setQuery(QString::fromLatin1("doc('") + contextItemSource().toString() + QLatin1String("')"));
- Q_ASSERT(openDoc.isValid());
- QXmlResultItems result;
-
- openDoc.evaluateTo(&result);
- const QXmlItem item(result.next());
- Q_ASSERT(!item.isNull());
- query.setFocus(item);
- }
-
- TestResult::List retval;
-
- const Scenario scen(scenario());
- TestResult::Status resultStatus = TestResult::Unknown;
-
- bool ok = false;
- const QString queryString(sourceCode(ok));
-
- if(!ok)
- {
- /* Loading the query file failed, or similar. */
- resultStatus = TestResult::Fail;
-
- m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
- errHandler.messages(), QPatternist::Item::List(), QString());
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
- }
-
- query.setMessageHandler(&errHandler);
- QXmlNamePool namePool(query.namePool());
-
- /* Bind variables. */
- QPatternist::ExternalVariableLoader::Ptr loader(externalVariableLoader());
- if(loader)
- {
- Q_ASSERT(loader);
- const ExternalSourceLoader::VariableMap vMap(static_cast<const ExternalSourceLoader *>(loader.data())->variableMap());
- const QStringList variables(vMap.keys());
-
- for(int i = 0; i < variables.count(); ++i)
- {
- const QXmlName name(namePool, variables.at(i));
- const QXmlItem val(QPatternist::Item::toPublic(loader->evaluateSingleton(name, QPatternist::DynamicContext::Ptr())));
- query.bindVariable(name, val);
- }
- }
-
- /* We pass in the testCasePath(), such that the base URI is correct fort
- * XSL-T stylesheets. */
- query.setQuery(queryString, testCasePath());
-
- if(!query.isValid())
- {
- pDebug() << "Got compilation exception.";
- resultStatus = TestBaseLine::scanErrors(errHandler.messages(), baseLines());
-
- Q_ASSERT(resultStatus != TestResult::Unknown);
- m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
- errHandler.messages(), QPatternist::Item::List(), QString());
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
- }
-
- if(stage == CompileOnly)
- {
- m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
- errHandler.messages(), QPatternist::Item::List(), QString());
- retval.append(m_result);
- return retval;
- }
-
- Q_ASSERT(stage == CompileAndRun);
-
- if(scen == ParseError) /* We're supposed to have received an error
- at this point. */
- {
- m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
- errHandler.messages(), QPatternist::Item::List(), QString());
- ErrorHandler::installQtMessageHandler(0);
- retval.append(m_result);
- changed(this);
- return retval;
- }
-
- QPatternist::Item::List itemList;
-
- QByteArray output;
- QBuffer buffer(&output);
- buffer.open(QIODevice::WriteOnly);
-
- QXmlSerializer serializer(query, &buffer);
-
- pDebug() << "-------------------------- evaluateToPushCallback() ---------------------------- ";
- const bool success = query.evaluateTo(&serializer);
- pDebug() << "------------------------------------------------------------------------------------ ";
-
- buffer.close();
-
- const QString serialized(QString::fromUtf8(output.constData(), output.size()));
-
- if(!success)
- {
- resultStatus = TestBaseLine::scanErrors(errHandler.messages(), baseLines());
-
- Q_ASSERT(resultStatus != TestResult::Unknown);
- m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
- errHandler.messages(), QPatternist::Item::List(), serialized);
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
- }
-
- /* It's a regular test. */
- Q_ASSERT(scen == Standard || scen == RuntimeError);
-
- resultStatus = TestBaseLine::scan(serialized, baseLines());
- Q_ASSERT(resultStatus != TestResult::Unknown);
-
- /* Check that errHandler()->messages() at most only contains
- * warnings, since it shouldn't have errors at this point. */
- const ErrorHandler::Message::List errors (errHandler.messages());
- const ErrorHandler::Message::List::const_iterator end(errors.constEnd());
- ErrorHandler::Message::List::const_iterator it(errors.constBegin());
-
- for(; it != end; ++it)
- {
- const QtMsgType type = (*it).type();
- if(type == QtFatalMsg)
- {
- m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
- errHandler.messages(), itemList, serialized);
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
- }
- }
-
- m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
- errHandler.messages(), itemList, serialized);
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
-}
-
-TestCase::Scenario TestCase::scenarioFromString(const QString &string)
-{
- if(string == QLatin1String("standard"))
- return Standard;
- else if(string == QLatin1String("parse-error"))
- return ParseError;
- else if(string == QLatin1String("runtime-error"))
- return RuntimeError;
- else if(string == QLatin1String("trivial"))
- return Trivial;
- else
- {
- Q_ASSERT_X(false, Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("Invalid string representation for the scenario-enum: %1").arg(string)));
- return ParseError; /* Silence GCC. */
- }
-}
-
-void TestCase::toXML(XMLWriter &receiver) const
-{
- /* <test-case> */
- QXmlAttributes test_caseAtts;
- test_caseAtts.append(QLatin1String("is-XPath2"), QString(),
- QLatin1String("is-XPath2"), isXPath() ? QLatin1String("true")
- : QLatin1String("false"));
- test_caseAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), name());
- test_caseAtts.append(QLatin1String("creator"), QString(), QLatin1String("creator"), creator());
- QString scen;
- switch(scenario())
- {
- case Standard:
- {
- scen = QLatin1String("standard");
- break;
- }
- case ParseError:
- {
- scen = QLatin1String("parse-error");
- break;
- }
- case RuntimeError:
- {
- scen = QLatin1String("runtime-error");
- break;
- }
- case Trivial:
- {
- scen = QLatin1String("trivial");
- break;
- }
- default: /* includes 'AnyError' */
- Q_ASSERT(false);
- }
- test_caseAtts.append(QLatin1String("scenario"), QString(), QLatin1String("scenario"), scen);
- test_caseAtts.append(QLatin1String(QLatin1String("FilePath")), QString(),
- QLatin1String("FilePath"), QString());
- receiver.startElement(QLatin1String("test-case"), test_caseAtts);
-
- /* <description> */
- receiver.startElement(QLatin1String("description"), test_caseAtts);
- receiver.characters(description());
-
- /* </description> */
- receiver.endElement(QLatin1String("description"));
-
- /* <query> */
- QXmlAttributes queryAtts;
- queryAtts.append(QLatin1String("date"), QString(), QLatin1String("date"), /* This date is a dummy. */
- QDate::currentDate().toString(Qt::ISODate));
- queryAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), testCasePath().toString());
- receiver.startElement(QLatin1String("query"), queryAtts);
-
- /* </query> */
- receiver.endElement(QLatin1String("query"));
-
- /* Note: this is invalid, we don't add spec-citation. */
- TestBaseLine::List bls(baseLines());
- const TestBaseLine::List::const_iterator end(bls.constEnd());
- TestBaseLine::List::const_iterator it(bls.constBegin());
-
- for(; it != end; ++it)
- (*it)->toXML(receiver);
-
- /* </test-case> */
- receiver.endElement(QLatin1String("test-case"));
-}
-
-QString TestCase::displayName(const Scenario scen)
-{
- switch(scen)
- {
- case Standard:
- return QLatin1String("Standard");
- case ParseError:
- return QLatin1String("Parse Error");
- case RuntimeError:
- return QLatin1String("Runtime Error");
- case Trivial:
- return QLatin1String("Trivial");
- case AnyError:
- {
- Q_ASSERT(false);
- return QString();
- }
- }
-
- Q_ASSERT(false);
- return QString();
-}
-
-TestItem::ResultSummary TestCase::resultSummary() const
-{
- if(m_result)
- return ResultSummary(m_result->status() == TestResult::Pass ? 1 : 0,
- 1);
-
- return ResultSummary(0, 1);
-}
-
-void TestCase::appendChild(TreeItem *)
-{
- Q_ASSERT_X(false, Q_FUNC_INFO, "Makes no sense to call appendChild() for TestCase.");
-}
-
-TreeItem *TestCase::child(const unsigned int) const
-{
- return 0; /* Silence GCC */
-}
-
-TreeItem::List TestCase::children() const
-{
- return TreeItem::List();
-}
-
-unsigned int TestCase::childCount() const
-{
- return 0;
-}
-
-TestResult *TestCase::testResult() const
-{
- return m_result;
-}
-
-bool TestCase::isFinalNode() const
-{
- return true;
-}
-
-QXmlQuery::QueryLanguage TestCase::language() const
-{
- return QXmlQuery::XQuery10;
-}
-
-QXmlName TestCase::initialTemplateName() const
-{
- return QXmlName();
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/TestCase.h b/tests/auto/xmlpatternsxqts/lib/TestCase.h
deleted file mode 100644
index 28df5f1e46..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestCase.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestCase_H
-#define PatternistSDK_TestCase_H
-
-#include <QtXmlPatterns/QXmlQuery>
-
-#include "qexternalvariableloader_p.h"
-
-#include "ErrorHandler.h"
-#include "TestBaseLine.h"
-#include "Global.h"
-
-#include "TestItem.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QDate;
-class QString;
-class QUrl;
-
-namespace QPatternistSDK
-{
- class XMLWriter;
-
- /**
- * @short A generic abstract base class for test cases.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestCase : public TestItem
- {
- public:
- /**
- * Corresponds to the simpleType test:scenarios-enum
- */
- enum Scenario
- {
- /**
- * The test case should evaluate normally and that the output
- * should match the supplied base line.
- */
- Standard = 1,
-
- /**
- * The test case should result in a static error, a parser error.
- */
- ParseError = 2,
-
- /**
- * The test case should result in a dynamic error, a runtime error.
- */
- RuntimeError = 4,
-
- Trivial = 8,
-
- /**
- * ParseError and RuntimeError OR'd.
- */
- AnyError = RuntimeError | ParseError
-
- };
-
- TestCase();
- virtual ~TestCase();
-
- /**
- * Executes the test, and returns the result. The returned list
- * will always contain exactly one TestResult.
- *
- * @p stage is ignored when running out-of-process.
- */
- virtual TestResult::List execute(const ExecutionStage stage,
- TestSuite *ts);
-
- /**
- * Determines the corresponding Scenario enumerator from the string
- * representation @p string.
- *
- * The following mappings are in effect:
- * @arg @c Standard "standard"
- * @arg @c ParseError "parse-error"
- * @arg @c RuntimeError "runtime-error"
- */
- static Scenario scenarioFromString(const QString &string);
-
- /**
- * @return always @c true
- */
- virtual bool isFinalNode() const;
-
- /**
- * Calling this function makes no sense, so it always
- * performs an Q_ASSERT check.
- */
- virtual void appendChild(TreeItem *);
-
- /**
- * Calling this function makes no sense, so it always
- * performs an Q_ASSERT check.
- */
- virtual TreeItem *child(const unsigned int) const;
-
- /**
- * @return always zero
- */
- virtual unsigned int childCount() const;
-
- /**
- * @return always an empty list.
- */
- virtual TreeItem::List children() const;
-
- /**
- * A description of the test case for human consumption.
- */
- virtual QString description() const = 0;
-
- /**
- * The title of the test. This can be the identifier of the test, for example.
- */
- virtual QString title() const = 0;
-
- /**
- * Whether this test case only make use of XPath features.
- *
- * @returns @c false if the test case exercises any XQuery feature
- * which is not available in XPath 2.0.
- */
- virtual bool isXPath() const = 0;
-
- /**
- * The full name of the creator of the test case. For example, "Frans Englich".
- */
- virtual QString creator() const = 0;
-
- /**
- * The date of when the test case was created or last modified.
- */
- virtual QDate lastModified() const = 0;
-
- /**
- * The test's source code. That is, the XPath/XQuery code for the test.
- *
- * @param ok the function sets this value to @c false if loading the query
- * failed, and returns a description of the error for human consumption. If
- * everything went ok, @p ok is set to @c true, and the query is returned.
- */
- virtual QString sourceCode(bool &ok) const = 0;
-
- /**
- * The path to the file containing the code of the test case.
- */
- virtual QUrl testCasePath() const = 0;
-
- /**
- * The test case's identifier. For example, "Literals001".
- */
- virtual QString name() const = 0;
-
- /**
- * What kind of test this is. For example, whether the test case
- * should result in a parser error or should evaluate without errors.
- *
- * The vast common case is that one Scenario is returned; the bit signifiance
- * is for the TestCase sub-class UserTestCase.
- */
- virtual Scenario scenario() const = 0;
-
- static QString displayName(const Scenario scen);
-
- /**
- * @returns the valid test baselines for this test case. If only
- * one outcome is valid, the returned list only contains
- * that baseline.
- */
- virtual TestBaseLine::List baseLines() const = 0;
-
- virtual TestResult *testResult() const;
-
- virtual ResultSummary resultSummary() const;
-
- void toXML(XMLWriter &receiver) const;
-
- virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const = 0;
-
- /**
- * @short The XML document that should be used as focus. If none should
- * be used, and hence the focus be undefined, a default constructed
- * QUrl is returned.
- */
- virtual QUrl contextItemSource() const = 0;
-
- /**
- * Returns by default QXmlQuery::XQuery10.
- */
- virtual QXmlQuery::QueryLanguage language() const;
-
- virtual QXmlName initialTemplateName() const;
- private:
- TestResult::List execute(const ExecutionStage stage);
- TestResult *createTestResult(const TestResult::Status status,
- const QString &comment) const;
-
- QPointer<TestResult> m_result;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp b/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp
deleted file mode 100644
index ec6196c9fb..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QPair>
-#include <QtDebug>
-
-#include "TestContainer.h"
-
-using namespace QPatternistSDK;
-
-TestContainer::TestContainer() : m_deleteChildren(true)
-{
-}
-
-TestContainer::~TestContainer()
-{
- if(m_deleteChildren)
- qDeleteAll(m_children);
-}
-
-TestResult::List TestContainer::execute(const ExecutionStage stage,
- TestSuite *ts)
-{
- Q_ASSERT(ts);
- const unsigned int c = m_children.count();
- TestResult::List result;
-
- for(unsigned int i = 0; i != c; ++i)
- result += static_cast<TestItem *>(child(i))->execute(stage, ts);
-
- return result;
-}
-
-TestItem::ResultSummary TestContainer::resultSummary() const
-{
- const int c = childCount();
- int total = 0;
- int pass = 0;
-
- for(int i = 0; i != c; ++i)
- {
- TestItem *t = static_cast<TestItem *>(child(i));
- const ResultSummary sum(t->resultSummary());
- pass += sum.first;
- total += sum.second;
- }
-
- return ResultSummary(pass, total);
-}
-
-TreeItem::List TestContainer::children() const
-{
- return m_children;
-}
-
-void TestContainer::appendChild(TreeItem *item)
-{
- /* When one of our children changes, we changes. */
- connect(item, SIGNAL(changed(TreeItem *)), SIGNAL(changed(TreeItem *)));
- m_children.append(item);
-}
-
-TreeItem *TestContainer::child(const unsigned int rowP) const
-{
- return m_children.value(rowP);
-}
-
-unsigned int TestContainer::childCount() const
-{
- return m_children.count();
-}
-
-void TestContainer::setTitle(const QString &titleP)
-{
- m_title = titleP;
-}
-
-QString TestContainer::title() const
-{
- return m_title;
-}
-
-bool TestContainer::isFinalNode() const
-{
- return false;
-}
-
-int TestContainer::columnCount() const
-{
- return 4;
-}
-
-QString TestContainer::description() const
-{
- return m_description;
-}
-
-void TestContainer::setDescription(const QString &desc)
-{
- m_description = desc;
-}
-
-void TestContainer::setDeleteChildren(const bool val)
-{
- m_deleteChildren = val;
-}
-
-void TestContainer::removeLast()
-{
- m_children.removeLast();
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestContainer.h b/tests/auto/xmlpatternsxqts/lib/TestContainer.h
deleted file mode 100644
index 5b93491393..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestContainer.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestContainer_H
-#define PatternistSDK_TestContainer_H
-
-#include "Global.h"
-#include "TestItem.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short an abstract base class, containing
- * an appropriate implementation of TestItem for sub-classes
- * which can contain other TestItem instances.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestContainer : public TestItem
- {
- public:
- virtual ~TestContainer();
- virtual void appendChild(TreeItem *item);
- virtual TreeItem *child(const unsigned int row) const;
- virtual unsigned int childCount() const;
-
- /**
- * @returns the TestResults of this TestContainer's children.
- */
- virtual TestResult::List execute(const ExecutionStage stage,
- TestSuite *ts);
-
- QString title() const;
- void setTitle(const QString &title);
-
- virtual TreeItem::List children() const;
-
- /**
- * @return always 2
- */
- virtual int columnCount() const;
-
- virtual bool isFinalNode() const;
-
- virtual ResultSummary resultSummary() const;
- virtual QString description() const;
- virtual void setDescription(const QString &desc);
-
- /**
- * Determines whether TestContainer will delete its children upon
- * destruction. By default, it will.
- */
- void setDeleteChildren(const bool val);
-
- /**
- * Removes the last appended child.
- */
- void removeLast();
-
- protected:
- /**
- * Constructor, protected. TestContainer is an abstract class,
- * and is not ment to be instantiated, but sub classed.
- */
- TestContainer();
-
- private:
- TreeItem::List m_children;
- QString m_title;
- QString m_description;
- bool m_deleteChildren;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp b/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
deleted file mode 100644
index f2cd2bd23d..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QColor>
-#include <QPair>
-#include <QVariant>
-
-#include "TestGroup.h"
-
-using namespace QPatternistSDK;
-
-TestGroup::TestGroup(TreeItem *p) : m_parent(p)
-{
-}
-
-QVariant TestGroup::data(const Qt::ItemDataRole role, int column) const
-{
- if(role != Qt::DisplayRole && role != Qt::BackgroundRole && role != Qt::ToolTipRole)
- return QVariant();
-
- /* In ResultSummary, the first is the amount of passes and the second is the total. */
- const ResultSummary sum(resultSummary());
- const int failures = sum.second - sum.first;
-
- switch(role)
- {
- case Qt::DisplayRole:
- {
-
- switch(column)
- {
- case 0:
- return title();
- case 1:
- /* Passes. */
- return QString::number(sum.first);
- case 2:
- /* Failures. */
- return QString::number(failures);
- case 3:
- /* Total. */
- return QString::number(sum.second);
- default:
- {
- Q_ASSERT(false);
- return QString();
- }
- }
- }
- case Qt::BackgroundRole:
- {
- switch(column)
- {
- case 1:
- {
- if(sum.first)
- {
- /* Pass. */
- return Qt::green;
- }
- else
- return QVariant();
- }
- case 2:
- {
- if(failures)
- {
- /* Failure. */
- return Qt::red;
- }
- else
- return QVariant();
- }
- default:
- return QVariant();
- }
- }
- case Qt::ToolTipRole:
- {
- return description();
- }
- default:
- {
- Q_ASSERT_X(false, Q_FUNC_INFO, "This shouldn't be reached");
- return QVariant();
- }
- }
-}
-
-void TestGroup::setNote(const QString &n)
-{
- m_note = n;
-}
-
-QString TestGroup::note() const
-{
- return m_note;
-}
-
-TreeItem *TestGroup::parent() const
-{
- return m_parent;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestGroup.h b/tests/auto/xmlpatternsxqts/lib/TestGroup.h
deleted file mode 100644
index 5f4798f9fd..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestGroup.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestGroup_H
-#define PatternistSDK_TestGroup_H
-
-#include <QString>
-
-#include "TestContainer.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Groups test groups and test cases into a group.
- *
- * TestGroup corresponds to the @c test-group element in XQTSCatalog.xsd.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestGroup : public TestContainer
- {
- public:
- TestGroup(TreeItem *parent);
-
- /**
- * @returns the parent of this group. Is either another group, or
- * the TestSuite instance governing this tree.
- */
- virtual TreeItem *parent() const;
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
-
- QString note() const;
-
- void setName(const QString &name);
- void setNote(const QString &note);
-
- private:
- QString m_name;
- QString m_note;
- TreeItem *m_parent;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestItem.h b/tests/auto/xmlpatternsxqts/lib/TestItem.h
deleted file mode 100644
index 0b3c606971..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestItem.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestItem_H
-#define PatternistSDK_TestItem_H
-
-#include "TestResult.h"
-#include "TreeItem.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-template<typename A, typename B> struct QPair;
-
-namespace QPatternistSDK
-{
- class XMLWriter;
- class TestSuite;
-
- /**
- * @short base class for all classes which
- * represent an element in an XQuery Test Suite catalog.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestItem : public TreeItem
- {
- public:
-
- /**
- * Determines how far an test case execution should go.
- */
- enum ExecutionStage
- {
- /**
- * The query will not be run. It will only go through the (whole) compilation stage.
- */
- CompileOnly = 1,
-
- /**
- * The query will be compiled and run, as ordinary.
- */
- CompileAndRun
- };
-
- /**
- * Represents a summary of test results for a collection
- * of tests. QPair::first contains the amount of
- * passed tests; QPair::second contains the count of
- * all tests. For example TestCase::summary() returns
- * ResultSummary(0, 1) or ResultSummary(1, 1) depending
- * on whether the TestCase have succeeded or not.
- */
- typedef QPair<int, int> ResultSummary;
-
- /**
- * Executes the test case(s) this TestItem represents,
- * and return the TestResult. For example, the TestGroup
- * returns the result of its children concatenated, while
- * TestCase always returns a list containing one
- * TestResult(what it evaluated to).
- */
- virtual TestResult::List execute(const ExecutionStage stage,
- TestSuite *ts) = 0;
-
- /**
- * @todo Rename this function. Perhaps create a type() hierarchy
- * instead.
- */
- virtual bool isFinalNode() const = 0;
-
- /**
- * @returns a ResultSummary for this TestItem.
- */
- virtual ResultSummary resultSummary() const = 0;
-
- /**
- * Serializes into the corresponding elements attributes
- * specified in XQTSCatalog.xsd.
- *
- * @note Sub-classes must assume the XQTSCatalog namespace
- * is the default namespace, and not add any namespace declarations.
- */
- //virtual void toXML(XMLWriter &receiver) const = 0;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResult.cpp b/tests/auto/xmlpatternsxqts/lib/TestResult.cpp
deleted file mode 100644
index 2374bc09ec..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestResult.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QXmlAttributes>
-#include <QtDebug>
-
-#include "qdebug_p.h"
-#include "Global.h"
-#include "XMLWriter.h"
-
-#include "TestResult.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-QString TestResult::displayName(const TestResult::Status stat)
-{
- switch(stat)
- {
- case Pass:
- return QLatin1String("pass");
- case Fail:
- return QLatin1String("fail");
- case NotTested:
- return QLatin1String("not tested");
- case Unknown:
- Q_ASSERT(false);
- }
-
- Q_ASSERT(false);
- return QString();
-}
-
-TestResult::Status TestResult::statusFromString(const QString &string)
-{
- if(string == QLatin1String("pass"))
- return Pass;
- else if(string == QLatin1String("fail"))
- return Fail;
- else if(string == QLatin1String("not tested"))
- return NotTested;
- else
- {
- Q_ASSERT(false);
- return Fail;
- }
-}
-
-TestResult::TestResult(const QString &n,
- const Status s,
- ASTItem *tree,
- const ErrorHandler::Message::List &ers,
- const QPatternist::Item::List &itemsP,
- const QString &serialized) : m_status(s),
- m_messages(ers),
- m_astTree(tree),
- m_testName(n),
- m_items(itemsP),
- m_asSerialized(serialized)
-{
- Q_ASSERT(!n.isEmpty());
- Q_ASSERT(s != 0);
-}
-
-TestResult::~TestResult()
-{
- delete m_astTree;
-}
-
-void TestResult::toXML(XMLWriter &receiver) const
-{
- QXmlAttributes atts;
- atts.append(QLatin1String("name"), QString(), QLatin1String("name"), m_testName);
- atts.append(QLatin1String("result"), QString(), QLatin1String("result"), displayName(m_status));
-
- if(!m_comment.isEmpty())
- atts.append(QLatin1String("comment"), QString(), QLatin1String("comment"), m_comment);
-
- receiver.startElement(QLatin1String("test-case"), atts);
- receiver.endElement(QLatin1String("test-case"));
-}
-
-void TestResult::setComment(const QString &comm)
-{
- m_comment = comm;
-}
-
-TestResult::Status TestResult::status() const
-{
- return m_status;
-}
-
-QString TestResult::comment() const
-{
- return m_comment;
-}
-
-ASTItem *TestResult::astTree() const
-{
- return m_astTree;
-}
-
-ErrorHandler::Message::List TestResult::messages() const
-{
- return m_messages;
-}
-
-QPatternist::Item::List TestResult::items() const
-{
- return m_items;
-}
-
-QString TestResult::asSerialized() const
-{
- pDebug() << "asSerialized: " << m_asSerialized;
- return m_asSerialized;
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResult.h b/tests/auto/xmlpatternsxqts/lib/TestResult.h
deleted file mode 100644
index 6951f90396..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestResult.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestResult_H
-#define PatternistSDK_TestResult_H
-
-#include <QList>
-#include <QObject>
-#include <QPointer>
-#include <QString>
-
-#include <QtXmlPatterns/private/qitem_p.h>
-#include "ErrorHandler.h"
-
-#include "ASTItem.h"
-
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class ASTItem;
- class XMLWriter;
-
- /**
- * @short represents the result produced by running a test case.
- *
- * This information TestResult houses is:
- *
- * - The result status() of the run. Whether the test case succeeded or not, for example.
- * - The astTree() which reflects the compiled test case
- * - The messages issued when compiling and running the test case, retrievable via messages()
- * - The data -- XPath Data Model items() -- the test case evaluated to, if any.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestResult : public QObject
- {
- Q_OBJECT
-
- public:
- enum Status
- {
- /**
- * Used when the status is unknown.
- */
- Unknown = 0,
-
- /**
- * The test case passed.
- */
- Pass,
-
- /**
- * The test case failed.
- */
- Fail,
-
- /**
- * The test was not run. Similar to "SKIP".
- */
- NotTested
- };
-
- /**
- * A list of TestResult instances.
- */
- typedef QList<QPointer<TestResult> > List;
-
- /**
- * Constructs a TestResult.
- *
- * @param testName the name of the test. For example, @c Literal-001.
- * @param astTree may be @c null, signalling no AST being available, or point to one.
- * @param status the result status of running the test-case. Whether the test-case
- * passed or failed, and so forth.
- * @param errors the errors and warnings that were reported while running the test-case
- * @param items the XDM items that were outputted, if any
- * @param serialized the output when serialized
- */
- TestResult(const QString &testName,
- const Status status,
- ASTItem *astTree,
- const ErrorHandler::Message::List &errors,
- const QPatternist::Item::List &items,
- const QString &serialized);
-
- virtual ~TestResult();
-
- Status status() const;
-
- QString comment() const;
- void setComment(const QString &comment);
-
- QPatternist::Item::List items() const;
-
- ErrorHandler::Message::List messages() const;
-
- /**
- * Serializes itself to @p receiver, into a test-case element,
- * as per @c XQTSResult.xsd.
- */
- void toXML(XMLWriter &receiver) const;
-
- ASTItem *astTree() const;
-
- /**
- * @returns a string representation for @p status, as per the anonymous
- * type inside the type test-case, in @c XQTSResult.xsd. For example, if @p status
- * is NotTested, is "not tested" returned.
- */
- static QString displayName(const TestResult::Status status);
-
- static Status statusFromString(const QString &string);
-
- /**
- * @returns the output of this test result(if any) as when
- * being serialized.
- */
- QString asSerialized() const;
-
- private:
- const Status m_status;
- QString m_comment;
- const ErrorHandler::Message::List m_messages;
- QPointer<ASTItem> m_astTree;
- QString m_testName;
- const QPatternist::Item::List m_items;
- const QString m_asSerialized;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp
deleted file mode 100644
index b87d481d4a..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "Global.h"
-
-#include "TestResultHandler.h"
-
-using namespace QPatternistSDK;
-
-TestResultHandler::TestResultHandler()
-{
- /* Fifteen thousand. When finished, we squeeze them. */
- m_result.reserve(15000);
- m_comments.reserve(1000); /* Comments are only used for stuff that crash, more or less. */
-}
-
-bool TestResultHandler::startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &,
- const QXmlAttributes &atts)
-{
- /* We only care about 'test-case', ignore everything else. */
- if(localName != QLatin1String("test-case") ||
- namespaceURI != Global::xqtsResultNS)
- return true;
-
- /* The 'comments' attribute is optional. */
- Q_ASSERT_X(atts.count() == 2 || atts.count() == 3, Q_FUNC_INFO,
- "The input appears to not conform to XQTSResult.xsd");
-
- Q_ASSERT_X(!m_result.contains(atts.value(QLatin1String("name"))),
- Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("A test result for test case %1 has "
- "already been read(duplicate entry it seems).").arg(atts.value(QLatin1String("name")))));
-
- m_result.insert(atts.value(0), TestResult::statusFromString(atts.value(QLatin1String("result"))));
-
- return true;
-}
-
-bool TestResultHandler::endDocument()
-{
- m_result.squeeze();
- m_comments.squeeze();
- return true;
-}
-
-TestResultHandler::Hash TestResultHandler::result() const
-{
- return m_result;
-}
-
-TestResultHandler::CommentHash TestResultHandler::comments() const
-{
- return m_comments;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h
deleted file mode 100644
index a786ac4dcf..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestResultHandler_H
-#define PatternistSDK_TestResultHandler_H
-
-#include <QHash>
-#include <QString>
-#include <QtXml/QXmlDefaultHandler>
-
-#include "TestResult.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Reads XML in the @c XQTSResult.xsd format, and provides access to
- * the reported results.
- *
- * @author Frans Englich <frans.englich@nokia.com>
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT TestResultHandler : public QXmlDefaultHandler
- {
- public:
- /**
- * A hash where the key is the class's name, that is <tt>test-case/@@name</tt>,
- * and the value the test's result status.
- */
- typedef QHash<QString, TestResult::Status> Hash;
-
- /**
- * A hash mapping test-case names to their' comments.
- */
- typedef QHash<QString, QString> CommentHash;
-
- /**
- * Creates a TestResultHandler that will read @p file when run() is called.
- */
- TestResultHandler();
-
- /**
- * Performs finalization.
- */
- virtual bool endDocument();
-
- /**
- * Reads the <tt>test-case</tt> element and its attributes, everything else is ignored.
- */
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
- /**
- * @note Do not reimplement this function.
- * @returns the result obtained from reading the XML file.
- */
- Hash result() const;
-
- CommentHash comments() const;
-
- private:
- Q_DISABLE_COPY(TestResultHandler)
- Hash m_result;
- CommentHash m_comments;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
deleted file mode 100644
index 2c3e49caaf..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QFileInfo>
-#include <QVariant>
-#include <QXmlInputSource>
-#include <QXmlSimpleReader>
-#include <QtDebug>
-
-#include "Global.h"
-#include "TestSuiteHandler.h"
-#include "TestSuiteResult.h"
-#include "XMLWriter.h"
-#include "XSLTTestSuiteHandler.h"
-#include "XSDTestSuiteHandler.h"
-#include "qdebug_p.h"
-
-#include "TestSuite.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-TestSuite::TestSuite()
-{
-}
-
-QVariant TestSuite::data(const Qt::ItemDataRole role, int column) const
-{
- if(role != Qt::DisplayRole)
- return QVariant();
-
- switch(column)
- {
- case 0:
- return title();
- case 1:
- return QString();
- default:
- {
- Q_ASSERT(false);
- return QString();
- }
- }
-}
-
-TestSuiteResult *TestSuite::runSuite()
-{
- const QDate date(QDate::currentDate());
- TestResult::List result(execute(CompileAndRun, this));
-
- return new TestSuiteResult(version(), date, result);
-}
-
-TestSuite *TestSuite::openCatalog(const QUrl &catalogURI,
- QString &errorMsg,
- const bool useExclusionList,
- SuiteType suiteType)
-{
- pDebug() << "Opening catalog:" << catalogURI.toString();
- QFile ts(catalogURI.toLocalFile());
- Q_ASSERT(catalogURI.isValid());
-
- if(!ts.exists())
- {
- errorMsg = QString::fromLatin1("The test suite catalog \"%1\" could not be found.\n")
- .arg(ts.fileName());
- return 0;
- }
-
- const QFileInfo info(ts);
-
- if(!info.isReadable())
- {
- errorMsg = QString::fromLatin1("Cannot read the test suite catalog.\n");
- return 0;
- }
- else if(!info.isFile())
- {
- errorMsg = QString::fromLatin1("The specified test suite catalog \"%1\" is not a file. "
- "The test suite catalog must be a file, it cannot be "
- "a directory, for example.\n")
- .arg(ts.fileName());
- return 0;
- }
- else if(!ts.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- errorMsg = QString::fromLatin1("Failed to open the test suite catalog, \"%1\".\n")
- .arg(ts.fileName());
- return 0;
- }
-
- return openCatalog(&ts, errorMsg, catalogURI, useExclusionList, suiteType);
-}
-
-TestSuite *TestSuite::openCatalog(QIODevice *input,
- QString &errorMsg,
- const QUrl &fileName,
- const bool useExclusionList,
- SuiteType suiteType)
-{
- Q_ASSERT(input);
-
- QXmlSimpleReader reader;
- typedef QPatternist::AutoPtr<QXmlDefaultHandler> HandlerPtr;
-
- HandlerPtr loader;
-
- switch (suiteType) {
- case XQuerySuite: loader = HandlerPtr(new TestSuiteHandler(fileName, useExclusionList)); break;
- case XsltSuite: loader = HandlerPtr(new XSLTTestSuiteHandler(fileName)); break;
- case XsdSuite: loader = HandlerPtr(new XSDTestSuiteHandler(fileName)); break;
- default: Q_ASSERT(false); break;
- }
-
- reader.setContentHandler(loader.data());
-
- QXmlInputSource source(input);
-
- if(!reader.parse(source))
- {
- errorMsg = QString::fromLatin1("Couldn't parse %1").arg(fileName.toString());
- return 0;
- }
-
- TestSuite *suite = 0;
- switch (suiteType) {
- case XQuerySuite: suite = static_cast<TestSuiteHandler *>(loader.data())->testSuite(); break;
- case XsltSuite: suite = static_cast<XSLTTestSuiteHandler *>(loader.data())->testSuite(); break;
- case XsdSuite: suite = static_cast<XSDTestSuiteHandler *>(loader.data())->testSuite(); break;
- default: Q_ASSERT(false); break;
- }
-
- if(suite)
- return suite;
-
- errorMsg = QString::fromLatin1("Failed to load \"%1\". "
- "It appears to have no test-suite element.\n").arg(fileName.toString());
- return 0;
-}
-
-void TestSuite::toXML(XMLWriter &receiver, TestCase *const tc) const
-{
- // TODO startElement() endElement() calls can be simplified.
-
- Q_ASSERT(tc);
-
- receiver.startDocument();
- /* <test-suite> */
- QXmlAttributes test_suiteAtts;
- test_suiteAtts.append(QLatin1String("CatalogDesignDate"), QString(),
- QLatin1String("CatalogDesignDate"), m_designDate.toString(Qt::ISODate));
- test_suiteAtts.append(QLatin1String("version"), QString(),
- QLatin1String("version"), m_version);
- test_suiteAtts.append(QLatin1String("SourceOffsetPath"), QString(),
- QLatin1String("SourceOffsetPath"), QString());
- test_suiteAtts.append(QLatin1String("ResultOffsetPath"), QString(),
- QLatin1String("ResultOffsetPath"), QString());
- test_suiteAtts.append(QLatin1String("XQueryQueryOffsetPath"), QString(),
- QLatin1String("XQueryQueryOffsetPath"), QString());
- test_suiteAtts.append(QLatin1String("QueryXQueryOffsetPath"), QString(),
- QLatin1String("QueryXQueryOffsetPath"), QString());
- test_suiteAtts.append(QLatin1String("XQueryFileExtension"), QString(),
- QLatin1String("XQueryFileExtension"), QString());
- test_suiteAtts.append(QLatin1String("XQueryXFileExtension"), QString(),
- QLatin1String("XQueryXFileExtension"), QString());
-
- receiver.startPrefixMapping(QString(), Global::xqtsCatalogNS);
- receiver.startElement(QLatin1String("test-suite"), test_suiteAtts);
- receiver.endPrefixMapping(QString());
-
- /* <test-group> */
- QXmlAttributes test_groupAtts;
- test_groupAtts.append(QLatin1String("GeneratedGroupByPatternistSDKRunSuite"), QString(),
- QLatin1String("GeneratedGroupByPatternistSDKRunSuite"), QString());
- receiver.startElement(QLatin1String("test-group"), test_groupAtts);
-
- /* <GroupInfo> */
- receiver.startElement(QLatin1String("GroupInfo"), test_groupAtts);
-
- /* <title> */
- receiver.startElement(QLatin1String("title"), test_groupAtts);
- receiver.characters(QLatin1String("Contains the test case generated by PatternistSDKRunSuite."));
-
- /* </title> */
- receiver.endElement(QLatin1String("title"));
-
- /* <description> */
- receiver.startElement(QLatin1String("description"), test_groupAtts);
- /* </description> */
- receiver.endElement(QLatin1String("description"));
-
- /* </GroupInfo> */
- receiver.endElement(QLatin1String("GroupInfo"));
-
- /* <test-case> */
- tc->toXML(receiver);
- /* </test-case> */
-
- /* </test-group> */
- receiver.endElement(QLatin1String("test-group"));
-
- /* </test-suite> */
- receiver.endElement(QLatin1String("test-suite"));
-}
-
-QString TestSuite::version() const
-{
- return m_version;
-}
-
-QDate TestSuite::designDate() const
-{
- return m_designDate;
-}
-
-void TestSuite::setVersion(const QString &ver)
-{
- m_version = ver;
-}
-
-void TestSuite::setDesignDate(const QDate &date)
-{
- m_designDate = date;
-}
-
-TestContainer *TestSuite::parent() const
-{
- return 0;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.h b/tests/auto/xmlpatternsxqts/lib/TestSuite.h
deleted file mode 100644
index d14dc629c5..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuite.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestSuite_H
-#define PatternistSDK_TestSuite_H
-
-#include <QDate>
-#include <QString>
-
-#include "TestContainer.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QIODevice;
-class QUrl;
-class QVariant;
-
-namespace QPatternistSDK
-{
- class TestCase;
- class TestSuiteResult;
-
- /**
- * @short Represents a test suite in the W3C XML Query Test Suite format.
- *
- * TestSuite contains the test suite's test cases and meta data.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestSuite : public TestContainer
- {
- public:
- /**
- * Describes the type of test suite.
- */
- enum SuiteType
- {
- XQuerySuite, ///< The test suite for XQuery
- XsltSuite, ///< The test suite for XSLT
- XsdSuite ///< The test suite for XML Schema
- };
-
- TestSuite();
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
-
- /**
- * The version of the catalog test suite. For example, "0.8.0".
- */
- QString version() const;
-
- /**
- * When the catalog was designed, last modified.
- */
- QDate designDate() const;
-
- void setVersion(const QString &version);
- void setDesignDate(const QDate &version);
-
- /**
- * @return always @c null
- */
- virtual TestContainer *parent() const;
-
- /**
- * Creates and returns a pointer to a TestSuite instance, which
- * was instantiated from the XQuery Test Suite catalog file @p catalogFile.
- *
- * If loading went wrong, @c null is returned and @p errorMsg is set with a
- * human readable message string. However, @p catalogFile is not validated;
- * if the XML file is not valid against the XQTS task force's W3C XML Schema, the
- * behavior and result for this function is undefined.
- *
- * This function blocks. Currently is only local files supported.
- */
- static TestSuite *openCatalog(const QUrl &catalogFile,
- QString &errorMsg,
- const bool useExclusionList,
- SuiteType type);
-
- void toXML(XMLWriter &receiver, TestCase *const tc) const;
-
- /**
- * Evaluates all the test cases in this TestSuite, and returns
- * it all in a TestSuiteResult.
- */
- TestSuiteResult *runSuite();
-
- private:
- /**
- * Essentially similar to open(const QUrl &, QString &errorMsg),
- * with the difference that it takes directly a QIODevice as input,
- * as opposed to a file name locating the catalog file to read.
- *
- * @param input the test suite catalog
- * @param fileName this URI is used for resolving relative paths inside
- * the catalog file into absolute.
- * @param errorMsg if an error occurs, this QString is set to contain the message.
- * Whether an error occurred can therefore be determined by checking if this variable
- * still is @c null after the call
- * @param useExclusionList whether the excludeTestGroups.txt file should be used
- * to exclude test groups for this catalog
- */
- static TestSuite *openCatalog(QIODevice *input,
- QString &errorMsg,
- const QUrl &fileName,
- const bool useExclusionList,
- SuiteType type);
- QString m_version;
- QDate m_designDate;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp
deleted file mode 100644
index 7c687f3d51..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp
+++ /dev/null
@@ -1,312 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "qacceltreeresourceloader_p.h"
-#include "qnetworkaccessdelegator_p.h"
-
-#include "Global.h"
-#include "TestBaseLine.h"
-#include "TestGroup.h"
-
-#include "TestSuiteHandler.h"
-
-using namespace QPatternistSDK;
-
-QNetworkAccessManager s_networkManager;
-
-TestSuiteHandler::TestSuiteHandler(const QUrl &catalogFile,
- const bool useEList) : m_ts(0)
- , m_container(0)
- , m_tc(0)
- , m_baseLine(0)
- , m_catalogFile(catalogFile)
- , m_exclusionList(readExclusionList(useEList))
- , m_isExcluding(false)
-{
- Q_ASSERT(!m_catalogFile.isRelative());
-}
-
-QStringList TestSuiteHandler::readExclusionList(const bool useExclusionList) const
-{
- if(!useExclusionList)
- return QStringList();
-
- QStringList avoid;
-
- /* These test groups are for features we don't support.
- *
- * Originally these were stored in a text file pulled in with Qt resources, but
- * it was not possible to get it to link on some HP-UX and Intel-icc platforms. */
-
- avoid << "SchemaImport"; // The schema import feature
- avoid << "SchemaValidation"; // The validate expression(requires schema import)
- avoid << "StaticTyping"; // Pessimistic static typing checking
- avoid << "TrivialEmbedding"; // XQueryX inside XQuery
- avoid << "XMark"; // We're currently too buggy for running these tests.
-
- return avoid;
-}
-
-bool TestSuiteHandler::startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &/*qName*/,
- const QXmlAttributes &atts)
-{
- if(namespaceURI != Global::xqtsCatalogNS)
- return true;
- else if(m_isExcluding)
- {
- if(localName == QLatin1String("test-group"))
- {
- m_testGroupName.push(atts.value(QLatin1String("name")));
- return true;
- }
- else
- return true;
- }
-
- /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
- if(localName == QLatin1String("test-case"))
- {
- XQTSTestCase *const c = new XQTSTestCase(
- TestCase::scenarioFromString(atts.value(QLatin1String("scenario"))), m_container);
-
- c->setName(atts.value(QLatin1String("name")));
- c->setCreator(atts.value(QLatin1String("Creator")));
- c->setIsXPath(Global::readBoolean(atts.value(QLatin1String("is-XPath2"))));
- c->setLastModified(QDate::fromString(atts.value(QLatin1String("version-drop")), Qt::ISODate));
- Q_ASSERT(c->lastModified().isNull() || c->lastModified().isValid());
-
- m_currentQueryPath = m_queryOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
- m_currentBaselinePath = m_baselineOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
-
- m_container->appendChild(c);
- m_tc = c;
- }
- else if(localName == QLatin1String("query"))
- {
- m_tc->setQueryPath(m_currentQueryPath.resolved(atts.value(QLatin1String("name")) +
- m_xqueryFileExtension));
- }
- else if(localName == QLatin1String("input-file") ||
- localName == QLatin1String("input-URI"))
- {
- m_currentInputVariable = atts.value(QLatin1String("variable"));
- }
- else if(localName == QLatin1String("output-file"))
- {
- m_baseLine = new TestBaseLine(TestBaseLine::identifierFromString(atts.value(QLatin1String("compare"))));
- }
- else if(localName == QLatin1String("expected-error"))
- {
- m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
- }
- else if(localName == QLatin1String("test-group"))
- {
- m_testGroupName.push(atts.value(QLatin1String("name")));
-
- if(m_exclusionList.contains(m_testGroupName.top()))
- {
- /* Ok, this group is supposed to be excluded, we don't
- * insert it into the tree. */
- m_isExcluding = true;
- return true;
- }
- else
- {
- Q_ASSERT(m_container);
- TestGroup *const newGroup = new TestGroup(m_container);
- m_container->appendChild(newGroup);
- m_container = newGroup;
- }
- }
- else if(localName == QLatin1String("source"))
- {
- m_sourceMap.insert(atts.value(QLatin1String("ID")),
- m_sourceOffset.resolved(QUrl(atts.value(QLatin1String("FileName")))));
- }
- else if(localName == QLatin1String("test-suite"))
- {
- m_ts = new TestSuite();
- m_ts->setVersion(atts.value(QLatin1String("version")));
- m_ts->setDesignDate(QDate::fromString(atts.value(QLatin1String("CatalogDesignDate")), Qt::ISODate));
- Q_ASSERT(m_ts->designDate().isValid());
- m_container = m_ts;
-
- m_xqueryFileExtension = atts.value(QLatin1String("XQueryFileExtension"));
- m_queryOffset = m_catalogFile.resolved(atts.value(QLatin1String("XQueryQueryOffsetPath")));
- m_baselineOffset = m_catalogFile.resolved(atts.value(QLatin1String("ResultOffsetPath")));
- m_sourceOffset = m_catalogFile.resolved(atts.value(QLatin1String("SourceOffsetPath")));
- }
- else if(localName == QLatin1String("input-query"))
- {
- m_tcSourceInputs.insert(atts.value(QLatin1String("variable")),
- ExternalSourceLoader::VariableValue(m_currentQueryPath.resolved(atts.value(QLatin1String("name")) + m_xqueryFileExtension),
- ExternalSourceLoader::Query));
- }
-
- return true;
-}
-
-bool TestSuiteHandler::endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &/*qName*/)
-{
- if(namespaceURI != Global::xqtsCatalogNS)
- return true;
-
- if(m_isExcluding)
- {
- if(localName == QLatin1String("test-group"))
- {
- const QString myName(m_testGroupName.pop());
-
- if(m_exclusionList.contains(myName))
- {
- /* This test-group is being excluded and now we're exiting from it. */
- m_isExcluding = false;
- }
- }
-
- return true;
- }
-
- /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
- if(localName == QLatin1String("description"))
- {
- if(m_tc)
- {
- /* We're inside a <test-case>, so the <description> belongs
- * to the test-case. */
- m_tc->setDescription(m_ch.simplified());
- }
- else
- m_container->setDescription(m_ch.simplified());
- }
- else if(localName == QLatin1String("test-case"))
- {
- Q_ASSERT(m_tc->baseLines().count() >= 1);
- Q_ASSERT(m_resourceLoader);
- m_tc->setExternalVariableLoader(QPatternist::ExternalVariableLoader::Ptr
- (new ExternalSourceLoader(m_tcSourceInputs,
- m_resourceLoader)));
- m_tcSourceInputs.clear();
-
- if(!m_contextItemSource.isEmpty())
- {
- m_tc->setContextItemSource(QUrl(m_sourceMap.value(m_contextItemSource)));
- m_contextItemSource.clear();
- }
-
- m_tc = 0;
- }
- else if(localName == QLatin1String("output-file"))
- {
- m_baseLine->setDetails(m_currentBaselinePath.resolved(m_ch).toString());
- m_tc->addBaseLine(m_baseLine);
- }
- else if(localName == QLatin1String("input-file"))
- {
- m_tcSourceInputs.insert(m_currentInputVariable, ExternalSourceLoader::VariableValue(m_sourceMap.value(m_ch),
- ExternalSourceLoader::Document));
- }
- else if(localName == QLatin1String("expected-error"))
- {
- m_baseLine->setDetails(m_ch);
- m_tc->addBaseLine(m_baseLine);
- }
- else if(localName == QLatin1String("title"))
- {
- /* A bit dangerous, the only element with name title in the vocabulary
- * is the the child of GroupInfo */
- m_container->setTitle(m_ch.simplified());
- }
- else if(localName == QLatin1String("test-group"))
- {
- m_testGroupName.pop();
- Q_ASSERT(m_container);
- m_container = static_cast<TestContainer *>(m_container->parent());
- Q_ASSERT(m_container);
- }
- else if(localName == QLatin1String("test-suite"))
- {
- Q_ASSERT(m_container);
- m_container = static_cast<TestContainer *>(m_container->parent());
- }
- else if(localName == QLatin1String("sources"))
- {
- const QPatternist::NetworkAccessDelegator::Ptr networkDelegator(new QPatternist::NetworkAccessDelegator(&s_networkManager, &s_networkManager));
-
- m_resourceLoader = QPatternist::ResourceLoader::Ptr(new QPatternist::AccelTreeResourceLoader(Global::namePool(),
- networkDelegator));
-
- const ExternalSourceLoader::SourceMap::const_iterator end(m_sourceMap.constEnd());
- ExternalSourceLoader::SourceMap::const_iterator it(m_sourceMap.constBegin());
-
- for(; it != end; ++it)
- m_resourceLoader->announceDocument(it.value(), QPatternist::ResourceLoader::WillUse);
- }
- else if(localName == QLatin1String("input-URI"))
- {
- m_tcSourceInputs.insert(m_currentInputVariable, ExternalSourceLoader::VariableValue(m_sourceMap.value(m_ch),
- ExternalSourceLoader::URI));
- }
- else if(localName == QLatin1String("contextItem"))
- m_contextItemSource = m_ch;
-
- return true;
-}
-
-bool TestSuiteHandler::characters(const QString &ch)
-{
- m_ch = ch;
- return true;
-}
-
-TestSuite *TestSuiteHandler::testSuite() const
-{
- return m_ts;
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h
deleted file mode 100644
index 76156c07c2..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestSuiteHandler_H
-#define PatternistSDK_TestSuiteHandler_H
-
-#include <QStack>
-#include <QUrl>
-#include <QXmlDefaultHandler>
-
-#include "ExternalSourceLoader.h"
-#include "TestSuite.h"
-#include "XQTSTestCase.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class TestBaseLine;
-
- /**
- * @short Creates a TestSuite from the XQuery Test Suite catalog,
- * represented as a SAX stream.
- *
- * The created TestSuite can be retrieved via testSuite().
- *
- * @note TestSuiteHandler assumes the XML is valid by having been validated
- * against the W3C XML Schema. It have no safety checks for that the XML format
- * is correct but is hard coded for it. Thus, the behavior is undefined if
- * the XML is invalid.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestSuiteHandler : public QXmlDefaultHandler
- {
- public:
- /**
- * @param catalogFile the URI for the catalog file being parsed. This
- * URI is used for creating absolute URIs for files mentioned in
- * the catalog with relative URIs.
- * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
- * test groups when loading
- */
- TestSuiteHandler(const QUrl &catalogFile,
- const bool useExclusionList);
- virtual bool characters(const QString &ch);
-
- virtual bool endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName);
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
-
- virtual TestSuite *testSuite() const;
-
- private:
- QStringList readExclusionList(const bool useExclusionList) const;
-
- TestSuite * m_ts;
- TestContainer * m_container;
- XQTSTestCase * m_tc;
- TestBaseLine * m_baseLine;
- QString m_ch;
- const QUrl m_catalogFile;
-
- /**
- * The extension of XQuery files. For example, ".xq"
- */
- QString m_xqueryFileExtension;
-
- /**
- * The base URI for where the XQuery query files are found.
- * It is absolute, resolved against catalogFile.
- */
- QUrl m_queryOffset;
-
- QUrl m_baselineOffset;
- QUrl m_sourceOffset;
- QUrl m_currentQueryPath;
- QUrl m_currentBaselinePath;
-
- /**
- * In the XQTSCatalog.xml, each source file in each test is referred to
- * by a key, which can be fully looked up in the @c sources element. This QHash
- * maps the keys to absolute URIs pointing to the source files.
- */
- ExternalSourceLoader::SourceMap m_sourceMap;
-
- ExternalSourceLoader::VariableMap m_tcSourceInputs;
-
- QPatternist::ResourceLoader::Ptr m_resourceLoader;
-
- /**
- * The current value of <tt>input-file/\@variable/</tt>.
- */
- QString m_currentInputVariable;
-
- /**
- * The names of the test groups we're excluding.
- */
- const QStringList m_exclusionList;
-
- /**
- * This is set when we're inside a test-group that we're excluding.
- */
- bool m_isExcluding;
-
- /**
- * The names of the test groups.
- */
- QStack<QString> m_testGroupName;
-
- /**
- * Holds the content of the current <tt>input-URI</tt> element.
- */
- QString m_inputURI;
- QString m_contextItemSource;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp
deleted file mode 100644
index 4e81859322..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QXmlContentHandler>
-
-#include "Global.h"
-#include "XMLWriter.h"
-
-#include "TestSuiteResult.h"
-
-using namespace QPatternistSDK;
-
-TestSuiteResult::TestSuiteResult(const QString &testSuiteVersion,
- const QDate &runDate,
- const TestResult::List &results) : m_testSuiteVersion(testSuiteVersion),
- m_runDate(runDate),
- m_results(results)
-{
-}
-
-TestSuiteResult::~TestSuiteResult()
-{
- qDeleteAll(m_results);
-}
-
-void TestSuiteResult::toXML(XMLWriter &receiver) const
-{
- /* If this data needs to be configurable in someway(say, another
- * XML format is supported), then break out the info into getters(alternatively, combined
- * with setters, or that the class is subclassed), and access the getters instead.
- */
- const QString organizationName (QLatin1String("K Desktop Environment(KDE)"));
- const QString organizationWebsite (QLatin1String("http://www.kde.org/"));
- const QString submittorName (QLatin1String("Frans Englich"));
- const QString submittorEmail (QLatin1String("frans.englich@nokia.com"));
- const QString implementationVersion (QLatin1String("0.1"));
- const QString implementationName (QLatin1String("Patternist"));
- const QString implementationDescription (QLatin1String(
- "Patternist is an implementation written in C++ "
- "and with the Qt/KDE libraries. "
- "It is licensed under GNU LGPL and part of KDE, "
- "the K Desktop Environment."));
-
- /* Not currently serialized:
- * - <implementation-defined-items>
- * - <features>
- * - <context-properties>
- */
-
- receiver.startDocument();
- /* <test-suite-result> */
- receiver.startPrefixMapping(QString(), Global::xqtsResultNS);
- receiver.startElement(QLatin1String("test-suite-result"));
- receiver.endPrefixMapping(QString());
-
- /* <implementation> */
- QXmlAttributes implementationAtts;
- implementationAtts.append(QLatin1String("name"), QString(),
- QLatin1String("name"), implementationName);
- implementationAtts.append(QLatin1String("version"), QString(),
- QLatin1String("version"), implementationVersion);
- receiver.startElement(QLatin1String("implementation"), implementationAtts);
-
- /* <organization> */
- QXmlAttributes organizationAtts;
- organizationAtts.append(QLatin1String("name"), QString(),
- QLatin1String("name"), organizationName);
- organizationAtts.append(QLatin1String("website"), QString(),
- QLatin1String("website"), organizationWebsite);
- receiver.startElement(QLatin1String("organization"), organizationAtts);
-
- /* </organization> */
- receiver.endElement(QLatin1String("organization"));
-
- /* <submittor> */
- QXmlAttributes submittorAtts;
- submittorAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), submittorName);
- submittorAtts.append(QLatin1String("email"), QString(), QLatin1String("email"), submittorEmail);
- receiver.startElement(QLatin1String("submittor"), submittorAtts);
-
- /* </submittor> */
- receiver.endElement(QLatin1String("submittor"));
-
- /* <description> */
- receiver.startElement(QLatin1String("description"));
-
- /* <p> */
- receiver.startElement(QLatin1String("p"));
- receiver.characters(implementationDescription);
-
- /* </p> */
- receiver.endElement(QLatin1String("p"));
- /* </description> */
- receiver.endElement(QLatin1String("description"));
-
- /* </implementation> */
- receiver.endElement(QLatin1String("implementation"));
-
- /* <syntax> */
- receiver.startElement(QLatin1String("syntax"));
- receiver.characters(QLatin1String(QLatin1String("XQuery")));
-
- /* </syntax> */
- receiver.endElement(QLatin1String("syntax"));
-
- /* <test-run> */
- QXmlAttributes test_runAtts;
- test_runAtts.append(QLatin1String("dateRun"), QString(), QLatin1String("dateRun"), m_runDate.toString(QLatin1String("yyyy-MM-dd")));
- receiver.startElement(QLatin1String("test-run"), test_runAtts);
-
- /* <test-suite> */
- QXmlAttributes test_suiteAtts;
- test_suiteAtts.append(QLatin1String("version"), QString(), QLatin1String("version"), m_testSuiteVersion);
- receiver.startElement(QLatin1String("test-suite"), test_suiteAtts);
-
- /* </test-suite> */
- receiver.endElement(QLatin1String("test-suite"));
-
- /* </test-run> */
- receiver.endElement(QLatin1String("test-run"));
-
- /* Serialize the TestResults: tons of test-case elements. */
- const TestResult::List::const_iterator end(m_results.constEnd());
- TestResult::List::const_iterator it(m_results.constBegin());
-
- for(; it != end; ++it)
- (*it)->toXML(receiver);
-
- /* </test-suite-result> */
- receiver.endElement(QLatin1String("test-suite-result"));
- receiver.endDocument();
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h
deleted file mode 100644
index 491c2b2123..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TestSuiteResult_H
-#define PatternistSDK_TestSuiteResult_H
-
-#include <QDate>
-#include <QString>
-
-#include "TestResult.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short A collection of TestResult instances.
- *
- * A TestSuiteResult gathers all TestResult instances, and provides
- * the toXML() function which serializes it all into a XQuery Test Suite
- * result file, conforming to XQTSResult.xsd.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TestSuiteResult
- {
- public:
- ~TestSuiteResult();
-
- TestSuiteResult(const QString &testSuiteVersion,
- const QDate &runDate,
- const TestResult::List &results);
-
- /**
- * Serializes the test results this TestSuiteResult represents,
- * into XQTS test-suite-result document, conformant to XQTSCatalog.xsd.
- */
- void toXML(XMLWriter &receiver) const;
-
- private:
- const QString m_testSuiteVersion;
- const QDate m_runDate;
- const TestResult::List m_results;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp b/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp
deleted file mode 100644
index b34262d9bd..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "TestContainer.h"
-
-#include "TreeItem.h"
-
-using namespace QPatternistSDK;
-
-int TreeItem::row() const
-{
- const TreeItem *const p = parent();
-
- if(p)
- {
- /* The const_cast makes it possible for QPointer's constructor
- * to implicitly kick in. */
- return p->children().indexOf(const_cast<TreeItem *>(this));
- }
- else
- return -1;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeItem.h b/tests/auto/xmlpatternsxqts/lib/TreeItem.h
deleted file mode 100644
index f5e051fec7..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TreeItem.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TreeItem_H
-#define PatternistSDK_TreeItem_H
-
-#include <QObject>
-
-#include "Global.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QVariant;
-template<typename T> class QList;
-template<typename T> class QPointer;
-
-namespace QPatternistSDK
-{
- /**
- * @short TreeItem is a node in a hierachial structure and is used together
- * with TreeModel.
- *
- * TreeItem is abstract base class. Instances of sub-classes of TreeItem
- * can be used with TreeModel in order to use hierarchial data in Qt's
- * model/view framework.
- *
- * TreeItem is a QObject in order to be able to be used with QPointer.
- *
- * @author Frans Englich <frans.englich@nokia.com>
- * @see TreeModel
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT TreeItem : public QObject
- {
- Q_OBJECT
- public:
- typedef QList<QPointer<TreeItem> > List;
-
- virtual ~TreeItem() {}
- virtual void appendChild(TreeItem *item) = 0;
- virtual TreeItem *child(const unsigned int row) const = 0;
- virtual unsigned int childCount() const = 0;
- virtual TreeItem *parent() const = 0;
-
- virtual TreeItem::List children() const = 0;
- virtual int columnCount() const = 0;
-
- /**
- * Determines the position among the children of
- * this TreeItem's parent. This is done by introspecting the result
- * of children().
- */
- int row() const;
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const = 0;
-
- Q_SIGNALS:
- /**
- * Emitted whenever this item changed. This is used for keeping
- * views in synchronization with the item model which houses
- * this item.
- *
- * @param item the item which changed. That is, this TreeItem.
- */
- void changed(TreeItem *item);
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp b/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
deleted file mode 100644
index e27f8e00e7..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "TestContainer.h"
-
-#include "TreeModel.h"
-
-using namespace QPatternistSDK;
-
-TreeModel::TreeModel(const QStringList columnData,
- QObject *p) : QAbstractItemModel(p),
- m_root(0),
- m_columnData(columnData)
-{
-}
-
-TreeModel::~TreeModel()
-{
-}
-
-QVariant TreeModel::data(const QModelIndex &idx, int role) const
-{
- if(!idx.isValid())
- return QVariant();
-
- TreeItem *item = static_cast<TreeItem *>(idx.internalPointer());
- Q_ASSERT(item);
-
- return item->data(static_cast<Qt::ItemDataRole>(role), idx.column());
-}
-
-QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if(orientation == Qt::Horizontal && role == Qt::DisplayRole)
- return m_columnData.value(section);
-
- return QVariant();
-}
-
-void TreeModel::childChanged(TreeItem *item)
-{
- if (item) {
- const QModelIndex index = createIndex(item->row(), 0, item);
- dataChanged(index, index);
- } else {
- layoutChanged();
- }
-}
-
-QModelIndex TreeModel::index(int row, int column, const QModelIndex &p) const
-{
- const int c = columnCount(p);
-
- if(row < 0 || column < 0 || column >= c)
- return QModelIndex();
-
- TreeItem *parentItem;
-
- if(p.isValid())
- parentItem = static_cast<TreeItem *>(p.internalPointer());
- else
- parentItem = m_root;
-
- if(!parentItem)
- return QModelIndex();
-
- TreeItem *childItem = parentItem->child(row);
-
- if(childItem)
- return createIndex(row, column, childItem);
- else
- return QModelIndex();
-}
-
-QModelIndex TreeModel::parent(const QModelIndex &idx) const
-{
- if(!idx.isValid())
- return QModelIndex();
-
- TreeItem *childItem = static_cast<TreeItem *>(idx.internalPointer());
- Q_ASSERT(childItem);
- TreeItem *parentItem = childItem->parent();
-
- if(!parentItem || parentItem == m_root)
- return QModelIndex();
-
- Q_ASSERT(parentItem);
- return createIndex(parentItem->row(), 0, parentItem);
-}
-
-Qt::ItemFlags TreeModel::flags(const QModelIndex &idx) const
-{
- /* Not sure about this code. */
- if(!idx.isValid())
- return Qt::ItemFlags();
-
- return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
-}
-
-int TreeModel::rowCount(const QModelIndex &p) const
-{
- if(p.column() > 0)
- return 0;
-
- const TreeItem *parentItem;
-
- if(p.isValid())
- parentItem = static_cast<TreeItem *>(p.internalPointer());
- else
- {
- if(m_root)
- parentItem = m_root;
- else
- return 0;
- }
-
- return parentItem->childCount();
-}
-
-int TreeModel::columnCount(const QModelIndex &p) const
-{
- if(p.isValid())
- return static_cast<TreeItem *>(p.internalPointer())->columnCount();
- else
- return m_columnData.count();
-}
-
-TreeItem *TreeModel::root() const
-{
- return m_root;
-}
-
-void TreeModel::setRoot(TreeItem *r)
-{
- TreeItem *const oldRoot = m_root;
- m_root = r;
-
- if(m_root)
- connect(r, SIGNAL(changed(TreeItem *)), SLOT(childChanged(TreeItem *)));
- reset(); /* Notify views that we have radically changed. */
- delete oldRoot;
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeModel.h b/tests/auto/xmlpatternsxqts/lib/TreeModel.h
deleted file mode 100644
index 1d8ea7293d..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/TreeModel.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_TreeModel_H
-#define PatternistSDK_TreeModel_H
-
-#include <QAbstractItemModel>
-#include <QObject>
-#include <QPointer>
-#include <QStringList>
-
-#include "Global.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class TreeItem;
-
- /**
- * @short TreeItem is a generic QAbstractItemModel tailored for
- * representing hierarchial data.
- *
- * TreeModel is an item model in Qt's model/view framework. Its
- * data consists of TreeItem instances.
- *
- * @see TreeItem
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT TreeModel : public QAbstractItemModel
- {
- Q_OBJECT
- public:
- TreeModel(const QStringList columnData, QObject *parent);
- virtual ~TreeModel();
-
- virtual QVariant data(const QModelIndex &index, int role) const;
- virtual Qt::ItemFlags flags(const QModelIndex &index) const;
- virtual QVariant headerData(int section,
- Qt::Orientation orientation,
- int role = Qt::DisplayRole) const;
- virtual QModelIndex index(int row,
- int column,
- const QModelIndex &parent = QModelIndex()) const;
- virtual QModelIndex parent(const QModelIndex &index) const;
- virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
- virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
-
- TreeItem *root() const;
- /**
- * Sets @p root to the new root, and deletes the old.
- */
- void setRoot(TreeItem *root);
-
- protected Q_SLOTS:
- void childChanged(TreeItem *child);
-
- private:
- QPointer<TreeItem> m_root;
- const QStringList m_columnData;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Worker.cpp b/tests/auto/xmlpatternsxqts/lib/Worker.cpp
deleted file mode 100644
index 0121099635..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/Worker.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDir>
-#include <QEventLoop>
-#include <QPair>
-#include <QtDebug>
-
-#include "ExitCode.h"
-
-#include "Worker.h"
-
-using namespace QPatternistSDK;
-
-const char *const Worker::m_indent = " ";
-
-Worker::Worker(QEventLoop &ev,
- const QFileInfo &baseline,
- const QFileInfo &result) : m_finishedCount(0)
- , m_baselineFile(baseline)
- , m_resultFile(result)
- , m_eventLoop(ev)
-{
-}
-
-void Worker::list(QTextStream &out, const QString &msg, QStringList &list)
-{
- Q_ASSERT(!msg.isEmpty());
-
- if(list.isEmpty())
- return;
-
- list.sort(); /* Make it pretty, and easy to read. */
-
- out << msg << ":\n";
-
- const QStringList::const_iterator end(list.constEnd());
- QStringList::const_iterator it(list.constBegin());
-
- for(; it != end; ++it)
- out << m_indent << qPrintable(*it) << '\n';
-}
-
-static inline int count(const ResultThreader::Hash &list, const TestResult::Status stat)
-{
- const ResultThreader::Hash::const_iterator end(list.constEnd());
- ResultThreader::Hash::const_iterator it(list.constBegin());
- int result = 0;
-
- for(; it != end; ++it)
- {
- if(it.value() == stat)
- ++result;
- }
-
- return result;
-}
-
-void Worker::threadFinished()
-{
- ++m_finishedCount;
- Q_ASSERT(m_finishedCount == 1 || m_finishedCount == 2);
-
- const ResultThreader *const handler = static_cast<ResultThreader *>(sender());
- Q_ASSERT(handler);
-
- switch(handler->type())
- {
- case ResultThreader::Baseline:
- {
- m_baseline = handler->result();
- break;
- }
- case ResultThreader::Result:
- m_result = handler->result();
- }
-
- if(m_finishedCount == 1) /* One thread's missing. */
- return;
-
- /* Ok, both threads have now finished, and we got their results in m_result and m_baseline. */
-
- /* No matter how this function exits, we want to delete this Worker. */
- deleteLater();
-
- ResultThreader::Hash::const_iterator itA(m_result.constBegin());
- ResultThreader::Hash::const_iterator itB(m_baseline.constBegin());
- const ResultThreader::Hash::const_iterator endA(m_result.constEnd());
- const ResultThreader::Hash::const_iterator endB(m_baseline.constEnd());
- const int baselineCount = m_baseline.count();
- const int resultCount = m_result.count();
-
- /* If you want useful output, change the QTextStream to use stderr. */
- //QTextStream err(stderr);
- QByteArray out;
- QTextStream err(&out);
-
- if(resultCount < baselineCount)
- {
- err << qPrintable(QString(QLatin1String("WARNING: Test result contains %1 reports, "
- "but the baseline contains %2, a DECREASE "
- "of %3 tests.\n"))
- .arg(resultCount)
- .arg(baselineCount)
- .arg(resultCount - baselineCount));
- }
- else if(resultCount > baselineCount)
- {
- err << qPrintable(QString(QLatin1String("NOTE: The number of tests run is more than what "
- "the baseline specifies. Run was %1 test cases, the "
- "baseline specifies %2; an increase of %3 tests.\n"))
- .arg(resultCount)
- .arg(baselineCount)
- .arg(resultCount - baselineCount));
- }
-
- for(; itA != endA; ++itA)
- {
- const TestResult::Status result = itA.value();
- const TestResult::Status baseline = m_baseline.value(itA.key());
-
- if(result == baseline) /* We have no change. */
- {
- if(result == TestResult::NotTested)
- m_notTested.append(itA.key());
- else
- continue;
- }
- else if(baseline == TestResult::Pass && result == TestResult::Fail)
- m_unexpectedFailures.append(itA.key());
- else if(baseline == TestResult::Fail && result == TestResult::Pass)
- m_unexpectedPasses.append(itA.key());
- }
-
- list(err, QLatin1String("Not tested"), m_notTested);
- list(err, QLatin1String("Unexpected failures"), m_unexpectedFailures);
- list(err, QLatin1String("Unexpected passes"), m_unexpectedPasses);
-
- err << "SUMMARY:\n";
- typedef QPair<QString, int> Info;
- typedef QList<Info> InfoList;
- InfoList info;
-
- const int totFail = count(m_result, TestResult::Fail);
- const int totPass = count(m_result, TestResult::Pass);
- const int total = resultCount;
- const int notTested = m_notTested.count();
- const int percentage = int((static_cast<double>(totPass) / total) * 100);
-
- Q_ASSERT_X(percentage >= 0 && percentage <= 100, Q_FUNC_INFO,
- qPrintable(QString(QLatin1String("Percentage was: %1")).arg(percentage)));
-
- info.append(Info(QLatin1String("Total"), total));
- info.append(Info(QLatin1String("Failures"), totFail));
- info.append(Info(QLatin1String("Passes"), totPass));
- info.append(Info(QLatin1String("Not tested"), notTested));
- info.append(Info(QLatin1String("Pass percentage(%)"), percentage));
- info.append(Info(QLatin1String("Unexpected failures"), m_unexpectedFailures.count()));
- info.append(Info(QLatin1String("Unexpected passes"), m_unexpectedPasses.count()));
-
- const InfoList::const_iterator end(info.constEnd());
- InfoList::const_iterator it(info.constBegin());
-
- /* List the statistics nicely in a row with padded columns. */
- for(; it != end; ++it)
- {
- const QString result((((*it).first) + QLatin1Char(':')).leftJustified(22, QLatin1Char(' ')));
- err << m_indent << qPrintable(result) << (*it).second << '\n';
- }
-
- if(!m_unexpectedFailures.isEmpty())
- {
- err << "FAILURE: Regressions discovered, baseline was not updated.\n";
- err.flush();
- QTextStream(stderr) << out;
- m_eventLoop.exit(ExitCode::Regression);
- return;
- }
- else if(m_unexpectedPasses.isEmpty() && baselineCount == resultCount)
- {
- err << "Result was identical to the baseline, baseline was not updated.\n";
- m_eventLoop.exit(ExitCode::Success);
- return;
- }
-
- /* Ok, we got unexpected successes and no regressions: let's update the baseline. */
-
- QFile resultFile(m_resultFile.absoluteFilePath());
-
- /* Remove the old file, otherwise QFile::copy() will fail. */
- QDir baselineDir(m_baselineFile.absolutePath());
- baselineDir.remove(m_baselineFile.fileName());
-
- if(resultFile.copy(m_baselineFile.absoluteFilePath()))
- {
- /* Give a detailed message of what's going on. */
- if(resultCount > baselineCount)
- err << "More tests was run than specified in the baseline, updating the baseline.\n";
- else
- err << "Improvement, the baseline was updated.\n";
-
- /* We actually flag this as an error, because the new baseline must be submitted. */
- err.flush();
- QTextStream(stderr) << out;
- m_eventLoop.exit(ExitCode::Regression);
- return;
- }
- else
- {
- err << qPrintable(QString(QLatin1String("Encountered error when updating "
- "the baseline: %1\n"))
- .arg(resultFile.errorString()));
- err.flush();
- QTextStream(stderr) << out;
- m_eventLoop.exit(ExitCode::WriteError);
- return;
- }
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Worker.h b/tests/auto/xmlpatternsxqts/lib/Worker.h
deleted file mode 100644
index b3d7ae2328..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/Worker.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_Worker_H
-#define PatternistSDK_Worker_H
-
-#include <QFileInfo>
-#include <QList>
-#include <QObject>
-#include <QStringList>
-
-#include "ResultThreader.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QEventLoop;
-
-namespace QPatternistSDK
-{
- /**
- * @short Gets notified when the ResultThreader threads are
- * finished, and output summaries and adjusts a baseline.
- *
- * @author Frans Englich <frans.englich@nokia.com>
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT Worker : public QObject
- {
- Q_OBJECT
- public:
- Worker(QEventLoop &e,
- const QFileInfo &baseline,
- const QFileInfo &result);
-
- public Q_SLOTS:
- void threadFinished();
-
- private:
- static inline void list(QTextStream &out, const QString &msg, QStringList &list);
-
- qint8 m_finishedCount;
- const QFileInfo m_baselineFile;
- const QFileInfo m_resultFile;
- ResultThreader::Hash m_result;
- ResultThreader::Hash m_baseline;
- ResultThreader::Hash m_summary;
- QStringList m_unexpectedPasses;
- QStringList m_unexpectedFailures;
- QStringList m_notTested;
- QEventLoop & m_eventLoop;
- static const char *const m_indent;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp b/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp
deleted file mode 100644
index 60a534477b..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp
+++ /dev/null
@@ -1,669 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QCoreApplication>
-#include <QDateTime>
-#include <QIODevice>
-#include <QList>
-#include <QPair>
-#include <QStack>
-#include <QtDebug>
-
-#include "XMLWriter.h"
-
-/* Issues:
- * - Switch to Qt's d-pointer semantics, if in Qt.
- * - Remove namespace(PatternistSDK), and change name, if in Qt.
- * - Is it really necessary to pass the tag name to endElement()?
- * - Could it be of interest to let the user control the encoding? Are those cases common
- * enough to justify support in Qt? Using anything but UTF-8 or UTF-16
- * means asking for trouble, from an interoperability perspective.
- */
-
-/* Design rationalis, comments:
- *
- * - The class is called XMLWriter to harvest familarity by being consistent with
- * Java's XMLWriter class. If XMLWriter is moved to Qt, the name QXmlWriter is perhaps suitable.
- * - The class does not handle indentation because the "do one thing well"-principle is
- * in use. XMLWriter should be fast and not assume a certain idea of indentation. Indentation
- * should be implemented in a standalone QXmlContentHandler that performs the indentation and
- * "has a" QXmlContentHandler which it in addition calls, and by that proxying/piping another
- * QXmlContentHandler(which most likely is an XMLWriter). Thus, achieving a modularized,
- * flexibly approach to indentation. A reason is also that indentation is very subjective.
- * The indenter class should probably be called XMLIndenter/QXmlIndenter.
- * - It could be of interest to implement QXmlDTDHandler such that it would be possible to serialize
- * DTDs. Must be done before BC becomes significant.
- * - I think the most valuable of this class is its Q_ASSERT tests. Many programmers have severe problems
- * producing XML, and the tests helps them catching their mistakes. They therefore promote
- * interoperability. Do not remove them. If any are wrong, fix them instead.
- */
-
-using namespace QPatternistSDK;
-
-/**
- * A namespace binding, prefix/namespace URI.
- */
-typedef QPair<QString, QString> NSBinding;
-typedef QList<NSBinding> NSBindingList;
-
-#ifdef QT_NO_DEBUG
-# define DEBUG_CODE(code)
-#else
-# define DEBUG_CODE(code) code
-#endif
-
-class XMLWriter::Private
-{
-public:
- inline Private(QIODevice *devP) : insideCDATA(false),
- addModificationNote(false),
- dev(devP)
- {
- hasContentStack.push(true);
- }
-
-#ifdef QT_NO_DEBUG
- inline void validateQName(const QString &) const
- {
- }
-
- inline void verifyNS(const QString &) const
- {
- }
-#else
- /**
- * Simple test of that @p name is an acceptable QName.
- */
- inline void validateQName(const QString &name)
- {
- Q_ASSERT_X(!name.isEmpty(), Q_FUNC_INFO,
- "An XML name cannot be empty.");
- Q_ASSERT_X(!name.endsWith(QLatin1Char(':')), Q_FUNC_INFO,
- "An XML name cannot end with a colon(QLatin1Char(':')).");
- Q_ASSERT_X(!name.contains(QRegExp(QLatin1String("[ \t\n]"))), Q_FUNC_INFO,
- "An XML name cannot contain whitespace.");
- }
-
- /**
- * Ensures that the prefix of @p qName is declared.
- */
- inline void verifyNS(const QString &qName) const
- {
- const QString prefix(qName.left(qName.indexOf(QLatin1Char(':'))));
-
- if(qName.contains(QLatin1Char(':')) && prefix != QLatin1String("xml"))
- {
- bool foundPrefix = false;
- const QStack<NSBindingList>::const_iterator end(namespaceTracker.constEnd());
- QStack<NSBindingList>::const_iterator it(namespaceTracker.constBegin());
-
- for(; it != end; ++it)
- {
- const NSBindingList::const_iterator lend((*it).constEnd());
- NSBindingList::const_iterator lit((*it).constBegin());
-
- for(; lit != lend; ++it)
- {
- if((*lit).first == prefix)
- {
- foundPrefix = true;
- break;
- }
- }
- if(foundPrefix)
- break;
- }
-
- Q_ASSERT_X(foundPrefix, "XMLWriter::startElement()",
- qPrintable(QString::fromLatin1("The prefix %1 is not declared. All prefixes "
- "except 'xml' must be declared.").arg(prefix)));
- }
- }
-#endif
-
- inline QString escapeElementContent(const QString &ch)
- {
- const int l = ch.length();
- QString retval;
-
- for(int i = 0; i != l; ++i)
- {
- const QChar c(ch.at(i));
-
- if(c == QLatin1Char(QLatin1Char('&')))
- retval += QLatin1String("&amp;");
- else if(c == QLatin1Char(QLatin1Char('<')))
- retval += QLatin1String("&lt;");
- else
- retval += c;
- }
-
- return retval;
- }
-
- inline QString escapeAttributeContent(const QString &ch)
- {
- const int l = ch.length();
- QString retval;
-
- for(int i = 0; i != l; ++i)
- {
- const QChar c(ch.at(i));
-
- /* We don't have to escape '\'' because we use '\"' as attribute delimiter. */
- if(c == QLatin1Char('&'))
- retval += QLatin1String("&amp;");
- else if(c == QLatin1Char('<'))
- retval += QLatin1String("&lt;");
- else if(c == QLatin1Char('"'))
- retval += QLatin1String("&quot;");
- else
- retval += c;
- }
-
- return retval;
- }
-
- inline QString escapeCDATAContent(const QString &ch)
- {
- const int l = ch.length();
- QString retval;
- qint8 atEnd = 0;
-
- for(int i = 0; i != l; ++i)
- {
- const QChar c(ch.at(i));
-
- /* Escape '>' if in "]]>" */
- if(c == QLatin1Char(']'))
- {
- if(atEnd == 0 || atEnd == 1)
- ++atEnd;
- else
- atEnd = 0;
-
- retval += QLatin1Char(']');
- }
- else if(c == QLatin1Char('>'))
- {
- if(atEnd == 2)
- retval += QLatin1String("&gt;");
- else
- {
- atEnd = 0;
- retval += QLatin1Char('>');
- }
- }
- else
- retval += c;
- }
-
- return retval;
- }
-
- /**
- * We wrap dev in this function such that we can deploy the Q_ASSERT_X
- * macro in each place it's used.
- */
- inline QIODevice *device() const
- {
- Q_ASSERT_X(dev, Q_FUNC_INFO,
- "No device specified for XMLWriter; one must be specified with "
- "setDevice() or via the constructor before XMLWriter can be used.");
- return dev;
- }
-
- /**
- * @returns true on success, otherwise false
- */
- inline bool serialize(const QString &data)
- {
- const QByteArray utf8(data.toUtf8());
-
- return device()->write(utf8) == utf8.size();
- }
-
- /**
- * @returns true on success, otherwise false
- */
- inline bool serialize(const char data)
- {
- return device()->putChar(data);
- }
-
- /**
- * @returns true on success, otherwise false
- */
- inline bool serialize(const char *data)
- {
- return device()->write(data) == qstrlen(data);
- }
-
- inline bool hasElementContent() const
- {
- return hasContentStack.top();
- }
-
- inline void handleElement()
- {
- if(!hasElementContent())
- serialize('>');
-
- /* This element is content for the parent. */
- hasContentStack.top() = true;
- }
-
- NSBindingList namespaces;
- bool insideCDATA;
- bool addModificationNote;
- QString msg;
- QIODevice *dev;
- QStack<bool> hasContentStack;
- QString errorString;
- DEBUG_CODE(QStack<QString> tags;)
- DEBUG_CODE(QStack<NSBindingList> namespaceTracker;)
-};
-
-/**
- * Reduces complexity. The empty else clause is for avoiding mess when macro
- * is used in the 'then' branch of an if clause, which is followed by an else clause.
- */
-#define serialize(string) if(!d->serialize(string)) \
- { \
- d->errorString = d->device()->errorString(); \
- return false; \
- } \
- else do {} while (false)
-
-XMLWriter::XMLWriter(QIODevice *outStream) : d(new Private(outStream))
-{
-}
-
-XMLWriter::~XMLWriter()
-{
- delete d;
-}
-
-bool XMLWriter::startDocument()
-{
- if(!device()->isOpen() && !device()->open(QIODevice::WriteOnly))
- return false;
-
- if(d->addModificationNote)
- {
- if(d->msg.isNull())
- {
- d->msg = QString::fromLatin1("NOTE: This file was automatically generated "
- "by %1 at %2. All changes to this file will be lost.")
- .arg(QCoreApplication::instance()->applicationName(),
- QDateTime::currentDateTime().toString());
- }
- if(!comment(d->msg))
- return false;
-
- serialize('\n');
- }
-
- serialize(QLatin1String("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"));
-
- return true;
-}
-
-bool XMLWriter::startElement(const QString &/*namespaceURI*/,
- const QString &/*localName*/,
- const QString &qName,
- const QXmlAttributes &atts)
-{
- return startElement(qName, atts);
-}
-
-bool XMLWriter::startElement(const QString &qName,
- const QXmlAttributes &atts)
-{
- Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
- "Only characters() can be received when inside CDATA.");
- Q_ASSERT_X(!qName.startsWith(QLatin1String("xmlns")), Q_FUNC_INFO,
- "startElement should not be used for declaring prefixes, "
- "use startPrefixMapping() for that.");
-
- d->validateQName(qName);
- d->verifyNS(qName);
-
- d->handleElement();
-
- serialize('<');
- serialize(qName);
-
- DEBUG_CODE(d->tags.push(qName));
- DEBUG_CODE(d->namespaceTracker.push(d->namespaces));
-
- /* Add namespace declarations. */
- const NSBindingList::const_iterator end(d->namespaces.constEnd());
- NSBindingList::const_iterator it(d->namespaces.constBegin());
-
- for(; it != end; ++it)
- {
- if((*it).first.isEmpty())
- serialize(" xmlns=");
- else
- {
- serialize(" xmlns:");
- serialize((*it).first);
- serialize('=');
- }
-
- serialize('"');
- serialize(d->escapeElementContent((*it).second));
- serialize('"');
- }
- d->namespaces.clear();
-
- const int c = atts.count();
-
- /* Serialize attributes. */
- for(int i = 0; i != c; ++i)
- {
- d->validateQName(atts.qName(i));
- d->verifyNS(atts.qName(i));
-
- serialize(' ');
- serialize(atts.qName(i));
- serialize("=\"");
- serialize(d->escapeAttributeContent(atts.value(i)));
- serialize('"');
- }
-
- d->hasContentStack.push(false);
- return true;
-}
-
-bool XMLWriter::endElement(const QString &/*namespaceURI*/,
- const QString &/*localName*/,
- const QString &qName)
-{
- return endElement(qName);
-}
-
-bool XMLWriter::endElement(const QString &qName)
-{
- Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
- "Only characters() can be received when inside CDATA.");
- Q_ASSERT_X(d->tags.pop() == qName, Q_FUNC_INFO,
- "The element tags are not balanced, the produced XML is invalid.");
-
- DEBUG_CODE(d->namespaceTracker.pop());
-
- /* "this" element is content for our parent, so ensure hasElementContent is true. */
-
- if(d->hasElementContent())
- {
- serialize(QLatin1String("</"));
- serialize(qName);
- serialize('>');
- }
- else
- serialize(QLatin1String("/>"));
-
- d->hasContentStack.pop();
-
- return true;
-}
-
-bool XMLWriter::startPrefixMapping(const QString &prefix, const QString &uri)
-{
- Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
- "Only characters() can be received when inside CDATA.");
- Q_ASSERT_X(prefix.toLower() != QLatin1String("xml") ||
- (prefix.toLower() == QLatin1String("xml") &&
- (uri == QLatin1String("http://www.w3.org/TR/REC-xml-names/") ||
- uri.isEmpty())),
- Q_FUNC_INFO,
- "The prefix 'xml' can only be bound to the namespace "
- "\"http://www.w3.org/TR/REC-xml-names/\".");
- Q_ASSERT_X(prefix.toLower() != QLatin1String("xml") &&
- uri != QLatin1String("http://www.w3.org/TR/REC-xml-names/"),
- Q_FUNC_INFO,
- "The namespace \"http://www.w3.org/TR/REC-xml-names/\" can only be bound to the "
- "\"xml\" prefix.");
-
- d->namespaces.append(qMakePair(prefix, uri));
- return true;
-}
-
-bool XMLWriter::processingInstruction(const QString &target,
- const QString &data)
-{
- Q_ASSERT_X(target.toLower() != QLatin1String("xml"), Q_FUNC_INFO,
- "A processing instruction cannot have the name xml in any "
- "capitalization, because it is reserved.");
- Q_ASSERT_X(!data.contains(QLatin1String("?>")), Q_FUNC_INFO,
- "The content of a processing instruction cannot contain the string \"?>\".");
- Q_ASSERT_X(!d->insideCDATA, "XMLWriter::processingInstruction()",
- "Only characters() can be received when inside CDATA.");
-
- d->handleElement();
-
- serialize(QLatin1String("<?"));
- serialize(target);
- serialize(' ');
- serialize(data);
- serialize(QLatin1String("?>"));
- return true;
-}
-
-bool XMLWriter::characters(const QString &ch)
-{
- Q_ASSERT_X(d->tags.count() >= 1, Q_FUNC_INFO,
- "Text nodes can only appear inside elements(no elements sent).");
- d->handleElement();
-
- if(d->insideCDATA)
- serialize(d->escapeCDATAContent(ch));
- else
- serialize(d->escapeElementContent(ch));
-
- return true;
-}
-
-bool XMLWriter::comment(const QString &ch)
-{
- Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
- "Only characters() can be received when inside CDATA.");
- Q_ASSERT_X(!ch.contains(QLatin1String("--")), Q_FUNC_INFO,
- "XML comments may not contain double-hyphens(\"--\").");
- Q_ASSERT_X(!ch.endsWith(QLatin1Char('-')), Q_FUNC_INFO,
- "XML comments cannot end with a hyphen, \"-\"(add a space, for example).");
- /* A comment starting with "<!---" is ok. */
-
- d->handleElement();
-
- serialize(QLatin1String("<!--"));
- serialize(ch);
- serialize(QLatin1String("-->"));
-
- return true;
-}
-
-bool XMLWriter::startCDATA()
-{
- Q_ASSERT_X(d->insideCDATA, Q_FUNC_INFO,
- "startCDATA() has already been called.");
- Q_ASSERT_X(d->tags.count() >= 1, Q_FUNC_INFO,
- "CDATA sections can only appear inside elements(no elements sent).");
- d->insideCDATA = true;
- serialize(QLatin1String("<![CDATA["));
- return true;
-}
-
-bool XMLWriter::endCDATA()
-{
- d->insideCDATA = false;
- serialize("]]>");
- return true;
-}
-
-bool XMLWriter::startDTD(const QString &name,
- const QString &publicId,
- const QString &systemId)
-{
- Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
- "Only characters() can be received when inside CDATA.");
- Q_ASSERT_X(!name.isEmpty(), Q_FUNC_INFO,
- "The DOCTYPE name cannot be empty.");
- Q_ASSERT_X(d->tags.isEmpty() && d->namespaces.isEmpty(), Q_FUNC_INFO,
- "No content such as namespace declarations or elements can be serialized "
- "before the DOCTYPE declaration, the XML is invalid.");
- Q_ASSERT_X(!publicId.contains(QLatin1Char('"')), Q_FUNC_INFO,
- "The PUBLIC ID cannot contain quotes('\"').");
- Q_ASSERT_X(!systemId.contains(QLatin1Char('"')), Q_FUNC_INFO,
- "The SYSTEM ID cannot contain quotes('\"').");
-
- serialize(QLatin1String("<!DOCTYPE "));
- serialize(name);
-
- if(!publicId.isEmpty())
- {
- Q_ASSERT_X(!systemId.isEmpty(), Q_FUNC_INFO,
- "When a public identifier is specified, a system identifier "
- "must also be specified in order to produce valid XML.");
- serialize(" PUBLIC \"");
- serialize(publicId);
- serialize('"');
- }
-
- if(!systemId.isEmpty())
- {
- if(publicId.isEmpty())
- serialize(" SYSTEM");
-
- serialize(" \"");
- serialize(systemId);
- serialize('"');
- }
-
- return true;
-}
-
-bool XMLWriter::endDTD()
-{
- Q_ASSERT_X(d->tags.isEmpty() && d->namespaces.isEmpty(), Q_FUNC_INFO,
- "Content such as namespace declarations or elements cannot occur inside "
- "the DOCTYPE declaration, the XML is invalid.");
- serialize(QLatin1String(">\n"));
- return true;
-}
-
-bool XMLWriter::startEntity(const QString &)
-{
- return true;
-}
-
-bool XMLWriter::endEntity(const QString &)
-{
- return true;
-}
-
-void XMLWriter::setMessage(const QString &msg)
-{
- d->msg = msg;
-}
-
-QString XMLWriter::modificationMessage() const
-{
- return d->msg;
-}
-
-bool XMLWriter::endDocument()
-{
- Q_ASSERT_X(d->tags.isEmpty(), Q_FUNC_INFO,
- "endDocument() called before all elements were closed with endElement().");
- d->device()->close();
- return true;
-}
-
-QString XMLWriter::errorString() const
-{
- return d->errorString;
-}
-
-bool XMLWriter::ignorableWhitespace(const QString &ch)
-{
- return characters(ch);
-}
-
-bool XMLWriter::endPrefixMapping(const QString &)
-{
- /* Again, should we do something with this? */
- return true;
-}
-
-bool XMLWriter::skippedEntity(const QString &)
-{
- return true;
-}
-
-void XMLWriter::setDocumentLocator(QXmlLocator *)
-{
-}
-
-QIODevice *XMLWriter::device() const
-{
- return d->dev;
-}
-
-void XMLWriter::setDevice(QIODevice *dev)
-{
- d->dev = dev;
-}
-
-void XMLWriter::setAddMessage(const bool toggle)
-{
- d->addModificationNote = toggle;
-}
-
-bool XMLWriter::addModificationMessage() const
-{
- return d->addModificationNote;
-}
-
-#undef serialize
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/XMLWriter.h b/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
deleted file mode 100644
index 2b629bb179..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
+++ /dev/null
@@ -1,403 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XMLWriter_H
-#define PatternistSDK_XMLWriter_H
-
-#include "Global.h"
-
-#include <QtXml/QXmlContentHandler>
-#include <QtXml/QXmlLexicalHandler>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QIODevice;
-
-namespace QPatternistSDK
-{
- /**
- * @short Serializes a stream of SAX events into XML, sent to a QIODevice.
- *
- * XMLWriter is a fast and simple XML serializer which takes care of
- * all the low level details of well-formedness and character escaping, allowing
- * the user to focus on higher level issues and increasing the chances of producing
- * valid, interoperable XML.
- *
- * The content XMLWriter produces is sent to a QIODevice, which is either
- * specified in XMLWriter's constructor or via setDevice(). If writing to
- * the device fails, the content functions such as startElement() returns @c false.
- *
- * XMLWriter sub-classes QXmlContentHandler meaning it can serialize content
- * from any code that produces SAX events. The class can also be used manually,
- * by calling startElement(), endCDATA(), and so forth.
- *
- * XMLWriter cannot be used to serialize multiple documents. One instance per
- * document must be used.
- *
- * XMLWriter takes care of escaping content into character references as necessary. Thus,
- * it should not be done manually. In fact, it would most likely
- * result in invalid XML or an unintended result. XMLWriter always serializes into UTF-8.
- *
- * When compiled in debug mode, XMLWriter contains several tests that helps
- * ensuring that XMLWriter produces valid XML. Some of these tests ensures that:
- *
- * - The @c xmlns and @c xml prefixes are used properly
- * - Content of comments and processing instructions is valid
- * - Element, attribute and DOCTYPE names are sensible
- * - Elements are properly nested and balanced
- * - To some extent that things occur in the proper order. For example, that
- * the document type definition isn't added inside an element
- * - That namespaces prefixes are declared
- *
- * Not triggering XMLWriter's tests does not guarantee valid XML is produced,
- * but they do help catching common mistakes and some of the corner cases in the
- * specifications. When XMLWriter is compiled in release mode, these tests are not enabled
- * and the error handling in effect is concerning writing to the QIODevice.
- *
- * Often it is of interest to add a note at the beginning of the file communicating
- * it is auto-generated. setMessage() and setAddMessage() provides
- * a convenient way of doing that.
- *
- * Namespace declarations are added with startPrefixMapping(), not by sending attributes
- * with name <tt>xmlns:*</tt> to startElement().
- *
- * @see <a href="http://hsivonen.iki.fi/producing-xml/">HOWTO Avoid Being
- * Called a Bozo When Producing XML</a>
- * @see <a href="http://www.w3.org/TR/REC-xml/">Extensible Markup
- * Language (XML) 1.0 (Third Edition)</a>
- * @see <a href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>
- * @todo Replace this class with QXmlStreamWriter
- * @author Frans Englich <frans.englich@nokia.com>
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT XMLWriter : public QXmlContentHandler
- , public QXmlLexicalHandler
- {
- public:
- /**
- * Creates a XMLWriter which serializes its received events
- * to @p outStream.
- *
- * @note XMLWriter does not claim ownership of @p outStream. Thus,
- * @p outStream may not be destroyed as long as
- * this XMLWriter instance uses it.
- */
- XMLWriter(QIODevice *outStream = 0);
-
- virtual ~XMLWriter();
-
- /**
- * @returns @c true if opening the output device succeeds, otherwise @c false
- */
- virtual bool startDocument();
-
- /**
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool characters(const QString &ch);
-
- /**
- * Starts an element with name @p qName and attributes @p atts. The prefix
- * in @p qName must first be declared with startPrefixMapping(), if it has one.
- *
- * A call to startElement() must always at some point be balanced with a call
- * to endElement().
- *
- * To declare namespaces, don't put attributes with name <tt>xmlns:*</tt> in @p atts,
- * but use startPrefixMapping().
- */
- virtual bool startElement(const QString &qName, const QXmlAttributes &atts = QXmlAttributes());
-
- /**
- *
- * Behaves essentially as startElement(const QString &qName, const QXmlAttributes &atts). This
- * function is used in conjunction with other SAX classes.
- *
- * The call:
- *
- * @code
- * startElement(QString(), QString(), qName, atts);
- * @endcode
- *
- * is equivalent to:
- *
- * @code
- * startElement(qName, atts);
- * @endcode
- *
- * @p namespaceURI and @p localName are not used. This function is
- * used in conjunction with other SAX classes.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
-
- /**
- * Signals the end of an element with name @p qName. @p qName must
- * be supplied.
- *
- * Calls to startElement() and endElement() must always be balanced.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endElement(const QString &qName);
-
- /**
- * Behaves essentially as endElement(const QString &qName). This function
- * is used when XMLWriter is used in SAX code.
- *
- * @p namespaceURI and @p localName are not used.
- *
- * The call:
- *
- * @code
- * endElement(QString(), QString(), qName);
- * @endcode
- *
- * is equivalent to:
- *
- * @code
- * endElement(qName);
- * @endcode
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName);
-
- /**
- * A description of an error if it occurred. This is typically
- * QIODevice::errorString(). If no error has occurred, an empty
- * string is returned.
- */
- virtual QString errorString() const;
-
- /**
- * Starts a CDATA section. Content sent with characters() will not be escaped
- * except for ">" if occurring in "]]>".
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool startCDATA();
-
- /**
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endCDATA();
-
- /**
- * Creates a document type definition.
- *
- * For example, the code snippet:
- *
- * @code
- * writer.startDTD("html", "-//W3C//DTD XHTML 1.0 Strict//EN",
- * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd");
- * writer.endDTD();
- * @endcode
- *
- * would create:
- * @verbatim
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-@endverbatim
- *
- * @note A system identifier must always be specified, but a public identifier may
- * be left out.
- *
- * A call to startDTD() must be followed by a call to endDTD().
- */
- virtual bool startDTD(const QString &name,
- const QString &publicId,
- const QString &systemId);
-
- /**
- * Apart from closing the DTD, an new line is also added at end.
- */
- virtual bool endDTD();
-
- /**
- * Creates a processing instruction by name @p target, and content
- * @p data.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool processingInstruction(const QString &target,
- const QString &data);
-
- /**
- * Declares a namespace which maps @p prefix to @p namespaceURI. For example, the call:
- *
- * @code
- * startPrefixMapping("xhtml", "http://www.w3.org/1999/xhtml");
- * @endcode
- *
- * would result in:
- *
- * @code
- * xmlns="http://www.w3.org/1999/xhtml"
- * @endcode
- */
- virtual bool startPrefixMapping(const QString &prefix,
- const QString &namespaceURI);
-
- /**
- * Creates a comment with content @p ch. @p ch is escaped, there's
- * no need to do it manually. For example, calling comment() with @p ch
- * set to "my comment", results in "<!--my comment-->" in the output.
- *
- * @note if @p ch contains double hyphen("--"), the produced XML will
- * not be well formed.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool comment(const QString &ch);
-
- virtual bool startEntity(const QString &name);
- virtual bool endEntity(const QString &name);
-
- /**
- * Sets the message which is added as a comment if addModificationMessage()
- * is set to @c true. If no message is specified and addModificationMessage()
- * is set to @c true, a default message is used.
- *
- * @see modificationMessage(), setAddMessage()
- */
- virtual void setMessage(const QString &msg);
-
- /**
- * The message that is added at the beginning of the XML events
- * in a comment node. If no modificationMessage is set via modificationMessage(),
- * and addModificationMessage is set to @c true, this message will be used:
- * "NOTE: This file was automatically generated by [the application name] at
- * [the current date time]. All changes to this file will be lost."
- *
- * @see setMessage()
- */
- virtual QString modificationMessage() const;
-
- /**
- * Closes the QIODevice XMLWriter writes to.
- */
- virtual bool endDocument();
-
- /**
- * Serializes @p ch as if it was sent to characters().
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool ignorableWhitespace(const QString &ch);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual bool endPrefixMapping(const QString &prefix);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual bool skippedEntity(const QString &name);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual void setDocumentLocator(QXmlLocator *);
-
- /**
- * @returns the device XMLWriter writes its output to.
- * XMLWriter does not own the device.
- */
- virtual QIODevice *device() const;
-
- /**
- * Sets the QIODevice XMLWriter writes to, to @p device. A device must be specified
- * either via this function or in the constructor before XMLWriter is used.
- *
- * XMLWriter does not claim ownership of @p device.
- */
- virtual void setDevice(QIODevice *device);
-
- /**
- * Determines whether the modification message should be inserted as a comment
- * before the document element. The message returned by modificationMessage() is used.
- *
- * If @p toggle is @c true, the message will be added, otherwise not.
- */
- virtual void setAddMessage(const bool toggle);
-
- /**
- * Tells whether a modification message will be added.
- *
- * @see setAddMessage(), modificationMessage()
- */
- virtual bool addModificationMessage() const;
-
- private:
- Q_DISABLE_COPY(XMLWriter)
-
- class Private;
- Private *d;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp
deleted file mode 100644
index 6a8645b8be..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QColor>
-#include <QFile>
-#include <QFileInfo>
-#include <QVariant>
-#include <QtDebug>
-
-#include "XQTSTestCase.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-XQTSTestCase::XQTSTestCase(const Scenario scen,
- TreeItem *p,
- const QXmlQuery::QueryLanguage lang) : m_isXPath(false)
- , m_scenario(scen)
- , m_parent(p)
- , m_lang(lang)
-{
-}
-
-XQTSTestCase::~XQTSTestCase()
-{
- qDeleteAll(m_baseLines);
-}
-
-QVariant XQTSTestCase::data(const Qt::ItemDataRole role, int column) const
-{
- if(role == Qt::DisplayRole)
- {
- if(column == 0)
- return title();
-
- const TestResult *const tr = testResult();
- if(!tr)
- {
- if(column == 1)
- return TestResult::displayName(TestResult::NotTested);
- else
- return QString();
- }
- const TestResult::Status status = tr->status();
-
- switch(column)
- {
- case 1:
- return status == TestResult::Pass ? QString(QChar::fromLatin1('1'))
- : QString(QChar::fromLatin1('0'));
- case 2:
- return status == TestResult::Fail ? QString(QChar::fromLatin1('1'))
- : QString(QChar::fromLatin1('0'));
- default:
- return QString();
- }
- }
-
- if(role != Qt::BackgroundRole)
- return QVariant();
-
- const TestResult *const tr = testResult();
-
- if(!tr)
- {
- if(column == 0)
- return Qt::yellow;
- else
- return QVariant();
- }
-
- const TestResult::Status status = tr->status();
-
- if(status == TestResult::NotTested || status == TestResult::Unknown)
- return Qt::yellow;
-
- switch(column)
- {
- case 1:
- return status == TestResult::Pass ? Qt::green : QVariant();
- case 2:
- return status == TestResult::Fail ? Qt::red : QVariant();
- default:
- return QVariant();
- }
-}
-
-QString XQTSTestCase::sourceCode(bool &ok) const
-{
- QFile file(m_queryPath.toLocalFile());
-
- QString err;
-
- if(!file.exists())
- err = QString::fromLatin1("Error: %1 does not exist.").arg(file.fileName());
- else if(!QFileInfo(file.fileName()).isFile())
- err = QString::fromLatin1("Error: %1 is not a file, cannot display it.").arg(file.fileName());
- else if(!file.open(QIODevice::ReadOnly))
- err = QString::fromLatin1("Error: Could not open %1. Likely a permission error.")
- .arg(file.fileName());
-
- if(err.isNull()) /* No errors. */
- {
- ok = true;
- /* Scary, we assume the query is stored in UTF-8. */
- return QString::fromUtf8(file.readAll());
- }
- else
- {
- ok = false;
- return err;
- }
-}
-
-int XQTSTestCase::columnCount() const
-{
- return 2;
-}
-
-void XQTSTestCase::addBaseLine(TestBaseLine *line)
-{
- m_baseLines.append(line);
-}
-
-QString XQTSTestCase::name() const
-{
- return m_name;
-}
-
-QString XQTSTestCase::creator() const
-{
- return m_creator;
-}
-
-QString XQTSTestCase::description() const
-{
- return m_description;
-}
-
-QDate XQTSTestCase::lastModified() const
-{
- return m_lastModified;
-}
-
-bool XQTSTestCase::isXPath() const
-{
- return m_isXPath;
-}
-
-TestCase::Scenario XQTSTestCase::scenario() const
-{
- return m_scenario;
-}
-
-void XQTSTestCase::setName(const QString &n)
-{
- m_name = n;
-}
-
-void XQTSTestCase::setCreator(const QString &ctor)
-{
- m_creator = ctor;
-}
-
-void XQTSTestCase::setDescription(const QString &descriptionP)
-{
- m_description = descriptionP;
-}
-
-void XQTSTestCase::setLastModified(const QDate &date)
-{
- m_lastModified = date;
-}
-
-void XQTSTestCase::setIsXPath(const bool isXPathP)
-{
- m_isXPath = isXPathP;
-}
-
-void XQTSTestCase::setQueryPath(const QUrl &uri)
-{
- m_queryPath = uri;
-}
-
-TreeItem *XQTSTestCase::parent() const
-{
- return m_parent;
-}
-
-QString XQTSTestCase::title() const
-{
- return m_name;
-}
-
-TestBaseLine::List XQTSTestCase::baseLines() const
-{
- Q_ASSERT_X(!m_baseLines.isEmpty(), Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("The test %1 has no base lines, it should have at least one.").arg(name())));
- return m_baseLines;
-}
-
-QUrl XQTSTestCase::testCasePath() const
-{
- return m_queryPath;
-}
-
-void XQTSTestCase::setExternalVariableLoader(const QPatternist::ExternalVariableLoader::Ptr &loader)
-{
- m_externalVariableLoader = loader;
-}
-
-QPatternist::ExternalVariableLoader::Ptr XQTSTestCase::externalVariableLoader() const
-{
- return m_externalVariableLoader;
-}
-
-void XQTSTestCase::setContextItemSource(const QUrl &uri)
-{
- m_contextItemSource = uri;
-}
-
-QUrl XQTSTestCase::contextItemSource() const
-{
- return m_contextItemSource;
-}
-
-QXmlQuery::QueryLanguage XQTSTestCase::language() const
-{
- return m_lang;
-}
-
-void XQTSTestCase::setParent(TreeItem *const p)
-{
- m_parent = p;
-}
-
-void XQTSTestCase::setInitialTemplateName(const QXmlName &name)
-{
- m_initialTemplateName = name;
-}
-
-QXmlName XQTSTestCase::initialTemplateName() const
-{
- return m_initialTemplateName;
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h
deleted file mode 100644
index 8872b3282f..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XQTSTestCase_H
-#define PatternistSDK_XQTSTestCase_H
-
-#include <QDate>
-#include <QString>
-#include <QUrl>
-
-#include "qexternalvariableloader_p.h"
-
-#include "TestBaseLine.h"
-#include "TestCase.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Represents a test case in a test suite in the XML Query Test Suite.
- *
- * TestCase is a memory representation of a test case, and maps
- * to the @c test-case element in the XQuery Test Suite test
- * case catalog.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT XQTSTestCase : public TestCase
- {
- public:
- XQTSTestCase(const Scenario scen, TreeItem *parent,
- const QXmlQuery::QueryLanguage lang = QXmlQuery::XQuery10);
- virtual ~XQTSTestCase();
-
- /**
- * The identifier, the name of the test. For example, "Literals034".
- * The name of a test case must be unique.
- */
- virtual QString name() const;
- virtual QString creator() const;
- virtual QString description() const;
- /**
- * @returns the query inside the file, specified by testCasePath(). Loading
- * of the file is not cached in order to avoid complications.
- * @param ok is set to @c false if loading the query file fails
- */
- virtual QString sourceCode(bool &ok) const;
- virtual QUrl testCasePath() const;
- virtual QDate lastModified() const;
-
- bool isXPath() const;
-
- /**
- * What kind of test case this is, what kind of scenario it takes part
- * of. For example, whether the test case should evaluate normally or fail.
- */
- Scenario scenario() const;
-
- void setCreator(const QString &creator);
- void setLastModified(const QDate &date);
- void setDescription(const QString &description);
- void setIsXPath(const bool isXPath);
- void setName(const QString &name);
- void setQueryPath(const QUrl &uri);
- void setContextItemSource(const QUrl &uri);
- void addBaseLine(TestBaseLine *lines);
- void setInitialTemplateName(const QXmlName &name);
-
- virtual TreeItem *parent() const;
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
-
- virtual QString title() const;
- virtual TestBaseLine::List baseLines() const;
-
- virtual int columnCount() const;
-
- void setExternalVariableLoader(const QPatternist::ExternalVariableLoader::Ptr &loader);
- virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const;
- virtual QUrl contextItemSource() const;
- virtual QXmlQuery::QueryLanguage language() const;
- void setParent(TreeItem *const parent);
- virtual QXmlName initialTemplateName() const;
-
- private:
- QString m_name;
- QString m_creator;
- QString m_description;
- QUrl m_queryPath;
- bool m_isXPath;
- QDate m_lastModified;
- const Scenario m_scenario;
- TreeItem * m_parent;
- TestBaseLine::List m_baseLines;
- QPatternist::ExternalVariableLoader::Ptr m_externalVariableLoader;
- QUrl m_contextItemSource;
- QXmlQuery::QueryLanguage m_lang;
- QXmlName m_initialTemplateName;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp
deleted file mode 100644
index 3cbb6811fb..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the autotests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QColor>
-#include <QFile>
-#include <QFileInfo>
-#include <QVariant>
-#include <QtDebug>
-
-#include "XSDTSTestCase.h"
-
-#include "qxmlschema.h"
-#include "qxmlschemavalidator.h"
-
-using namespace QPatternistSDK;
-using namespace QPatternist;
-
-XSDTSTestCase::XSDTSTestCase(const Scenario scen, TreeItem *p, TestType testType)
- : m_scenario(scen)
- , m_parent(p)
- , m_testType(testType)
-{
-}
-
-XSDTSTestCase::~XSDTSTestCase()
-{
- qDeleteAll(m_baseLines);
-}
-
-TestResult::List XSDTSTestCase::execute(const ExecutionStage, TestSuite*)
-{
- ErrorHandler errHandler;
- ErrorHandler::installQtMessageHandler(&errHandler);
-
- TestResult::List retval;
- TestResult::Status resultStatus = TestResult::Unknown;
- QString serialized;
-
- if (m_testType == SchemaTest) {
- executeSchemaTest(resultStatus, serialized, &errHandler);
- } else {
- executeInstanceTest(resultStatus, serialized, &errHandler);
- }
-
- resultStatus = TestBaseLine::scan(serialized, baseLines());
- Q_ASSERT(resultStatus != TestResult::Unknown);
-
- m_result = new TestResult(name(), resultStatus, 0, errHandler.messages(),
- QPatternist::Item::List(), serialized);
- retval.append(m_result);
- ErrorHandler::installQtMessageHandler(0);
- changed(this);
- return retval;
-}
-
-void XSDTSTestCase::executeSchemaTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler)
-{
- QFile file(m_schemaUri.path());
- if (!file.open(QIODevice::ReadOnly)) {
- resultStatus = TestResult::Fail;
- serialized = QString();
- return;
- }
-
- QXmlSchema schema;
- schema.setMessageHandler(handler);
- schema.load(&file, m_schemaUri);
-
- if (schema.isValid()) {
- resultStatus = TestResult::Pass;
- serialized = QString::fromLatin1("true");
- } else {
- resultStatus = TestResult::Pass;
- serialized = QString::fromLatin1("false");
- }
-}
-
-void XSDTSTestCase::executeInstanceTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler)
-{
- QFile instanceFile(m_instanceUri.path());
- if (!instanceFile.open(QIODevice::ReadOnly)) {
- resultStatus = TestResult::Fail;
- serialized = QString();
- return;
- }
-
- QXmlSchema schema;
- if (m_schemaUri.isValid()) {
- QFile file(m_schemaUri.path());
- if (!file.open(QIODevice::ReadOnly)) {
- resultStatus = TestResult::Fail;
- serialized = QString();
- return;
- }
-
- schema.setMessageHandler(handler);
- schema.load(&file, m_schemaUri);
-
- if (!schema.isValid()) {
- resultStatus = TestResult::Pass;
- serialized = QString::fromLatin1("false");
- return;
- }
- }
-
- QXmlSchemaValidator validator(schema);
- validator.setMessageHandler(handler);
-
- qDebug("check %s", qPrintable(m_instanceUri.path()));
- if (validator.validate(&instanceFile, m_instanceUri)) {
- resultStatus = TestResult::Pass;
- serialized = QString::fromLatin1("true");
- } else {
- resultStatus = TestResult::Pass;
- serialized = QString::fromLatin1("false");
- }
-}
-
-QVariant XSDTSTestCase::data(const Qt::ItemDataRole role, int column) const
-{
- if(role == Qt::DisplayRole)
- {
- if(column == 0)
- return title();
-
- const TestResult *const tr = testResult();
- if(!tr)
- {
- if(column == 1)
- return TestResult::displayName(TestResult::NotTested);
- else
- return QString();
- }
- const TestResult::Status status = tr->status();
-
- switch(column)
- {
- case 1:
- return status == TestResult::Pass ? QString(QChar::fromLatin1('1'))
- : QString(QChar::fromLatin1('0'));
- case 2:
- return status == TestResult::Fail ? QString(QChar::fromLatin1('1'))
- : QString(QChar::fromLatin1('0'));
- default:
- return QString();
- }
- }
-
- if(role != Qt::BackgroundRole)
- return QVariant();
-
- const TestResult *const tr = testResult();
-
- if(!tr)
- {
- if(column == 0)
- return Qt::yellow;
- else
- return QVariant();
- }
-
- const TestResult::Status status = tr->status();
-
- if(status == TestResult::NotTested || status == TestResult::Unknown)
- return Qt::yellow;
-
- switch(column)
- {
- case 1:
- return status == TestResult::Pass ? Qt::green : QVariant();
- case 2:
- return status == TestResult::Fail ? Qt::red : QVariant();
- default:
- return QVariant();
- }
-}
-
-QString XSDTSTestCase::sourceCode(bool &ok) const
-{
- QFile file((m_testType == SchemaTest ? m_schemaUri : m_instanceUri).toLocalFile());
-
- QString err;
-
- if(!file.exists())
- err = QString::fromLatin1("Error: %1 does not exist.").arg(file.fileName());
- else if(!QFileInfo(file.fileName()).isFile())
- err = QString::fromLatin1("Error: %1 is not a file, cannot display it.").arg(file.fileName());
- else if(!file.open(QIODevice::ReadOnly))
- err = QString::fromLatin1("Error: Could not open %1. Likely a permission error.")
- .arg(file.fileName());
-
- if(err.isNull()) /* No errors. */
- {
- ok = true;
- /* Scary, we assume the query is stored in UTF-8. */
- return QString::fromUtf8(file.readAll());
- }
- else
- {
- ok = false;
- return err;
- }
-}
-
-int XSDTSTestCase::columnCount() const
-{
- return 2;
-}
-
-void XSDTSTestCase::addBaseLine(TestBaseLine *line)
-{
- m_baseLines.append(line);
-}
-
-QString XSDTSTestCase::name() const
-{
- return m_name;
-}
-
-QString XSDTSTestCase::creator() const
-{
- return m_creator;
-}
-
-QString XSDTSTestCase::description() const
-{
- return m_description;
-}
-
-QDate XSDTSTestCase::lastModified() const
-{
- return m_lastModified;
-}
-
-bool XSDTSTestCase::isXPath() const
-{
- return false;
-}
-
-TestCase::Scenario XSDTSTestCase::scenario() const
-{
- return m_scenario;
-}
-
-void XSDTSTestCase::setName(const QString &n)
-{
- m_name = n;
-}
-
-void XSDTSTestCase::setCreator(const QString &ctor)
-{
- m_creator = ctor;
-}
-
-void XSDTSTestCase::setDescription(const QString &descriptionP)
-{
- m_description = descriptionP;
-}
-
-void XSDTSTestCase::setLastModified(const QDate &date)
-{
- m_lastModified = date;
-}
-
-void XSDTSTestCase::setSchemaUri(const QUrl &uri)
-{
- m_schemaUri = uri;
-}
-
-void XSDTSTestCase::setInstanceUri(const QUrl &uri)
-{
- m_instanceUri = uri;
-}
-
-TreeItem *XSDTSTestCase::parent() const
-{
- return m_parent;
-}
-
-QString XSDTSTestCase::title() const
-{
- return m_name;
-}
-
-TestBaseLine::List XSDTSTestCase::baseLines() const
-{
- Q_ASSERT_X(!m_baseLines.isEmpty(), Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("The test %1 has no base lines, it should have at least one.").arg(name())));
- return m_baseLines;
-}
-
-QUrl XSDTSTestCase::schemaUri() const
-{
- return m_schemaUri;
-}
-
-QUrl XSDTSTestCase::instanceUri() const
-{
- return m_instanceUri;
-}
-
-void XSDTSTestCase::setContextItemSource(const QUrl &uri)
-{
- m_contextItemSource = uri;
-}
-
-QUrl XSDTSTestCase::contextItemSource() const
-{
- return m_contextItemSource;
-}
-
-void XSDTSTestCase::setParent(TreeItem *const p)
-{
- m_parent = p;
-}
-
-QPatternist::ExternalVariableLoader::Ptr XSDTSTestCase::externalVariableLoader() const
-{
- return QPatternist::ExternalVariableLoader::Ptr();
-}
-
-TestResult *XSDTSTestCase::testResult() const
-{
- return m_result;
-}
-
-TestItem::ResultSummary XSDTSTestCase::resultSummary() const
-{
- if(m_result)
- return ResultSummary(m_result->status() == TestResult::Pass ? 1 : 0,
- 1);
-
- return ResultSummary(0, 1);
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h
deleted file mode 100644
index 947687abf1..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the autotests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XSDTSTestCase_H
-#define PatternistSDK_XSDTSTestCase_H
-
-#include <QDate>
-#include <QString>
-#include <QUrl>
-
-#include "TestBaseLine.h"
-#include "TestCase.h"
-
-QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- /**
- * @short Represents a test case in a test suite in the XML Query Test Suite.
- *
- * TestCase is a memory representation of a test case, and maps
- * to the @c test-case element in the XQuery Test Suite test
- * case catalog.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT XSDTSTestCase : public TestCase
- {
- public:
- enum TestType
- {
- SchemaTest,
- InstanceTest
- };
-
- XSDTSTestCase(const Scenario scen, TreeItem *parent, TestType testType);
- virtual ~XSDTSTestCase();
-
- /**
- * Executes the test, and returns the result. The returned list
- * will always contain exactly one TestResult.
- *
- * @p stage is ignored when running out-of-process.
- */
- virtual TestResult::List execute(const ExecutionStage stage,
- TestSuite *ts);
- /**
- * The identifier, the name of the test. For example, "Literals034".
- * The name of a test case must be unique.
- */
- virtual QString name() const;
- virtual QString creator() const;
- virtual QString description() const;
- /**
- * @returns the query inside the file, specified by testCasePath(). Loading
- * of the file is not cached in order to avoid complications.
- * @param ok is set to @c false if loading the query file fails
- */
- virtual QString sourceCode(bool &ok) const;
- virtual QUrl schemaUri() const;
- virtual QUrl instanceUri() const;
- virtual QUrl testCasePath() const {return QUrl();}
- virtual QDate lastModified() const;
-
- bool isXPath() const;
-
- /**
- * What kind of test case this is, what kind of scenario it takes part
- * of. For example, whether the test case should evaluate normally or fail.
- */
- Scenario scenario() const;
-
- void setCreator(const QString &creator);
- void setLastModified(const QDate &date);
- void setDescription(const QString &description);
- void setName(const QString &name);
- void setSchemaUri(const QUrl &uri);
- void setInstanceUri(const QUrl &uri);
- void setTestCasePath(const QUrl & /* uri */) {}
- void setContextItemSource(const QUrl &uri);
- void addBaseLine(TestBaseLine *lines);
-
- virtual TreeItem *parent() const;
-
- virtual QVariant data(const Qt::ItemDataRole role, int column) const;
-
- virtual QString title() const;
- virtual TestBaseLine::List baseLines() const;
-
- virtual int columnCount() const;
-
- virtual QUrl contextItemSource() const;
- void setParent(TreeItem *const parent);
- virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const;
- virtual TestResult *testResult() const;
- virtual ResultSummary resultSummary() const;
-
- private:
- void executeSchemaTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler);
- void executeInstanceTest(TestResult::Status &resultStatus, QString &serialized, QAbstractMessageHandler *handler);
-
- QString m_name;
- QString m_creator;
- QString m_description;
- QUrl m_schemaUri;
- QUrl m_instanceUri;
- QDate m_lastModified;
- const Scenario m_scenario;
- TreeItem * m_parent;
- TestBaseLine::List m_baseLines;
- QUrl m_contextItemSource;
- TestType m_testType;
- QPointer<TestResult> m_result;
- };
-}
-
-QT_END_NAMESPACE
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp
deleted file mode 100644
index a868d1900f..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp
+++ /dev/null
@@ -1,910 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the autotests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "qacceltreeresourceloader_p.h"
-#include "qnetworkaccessdelegator_p.h"
-
-#include "Global.h"
-#include "TestBaseLine.h"
-#include "TestGroup.h"
-
-#include "XSDTestSuiteHandler.h"
-#include "XSDTSTestCase.h"
-
-using namespace QPatternistSDK;
-
-extern QNetworkAccessManager s_networkManager;
-
-XSDTestSuiteHandler::XSDTestSuiteHandler(const QUrl &catalogFile) : m_ts(0)
- , m_catalogFile(catalogFile)
- , m_inSchemaTest(false)
- , m_inInstanceTest(false)
- , m_inTestGroup(false)
- , m_inDescription(false)
- , m_schemaBlacklisted(false)
- , m_counter(0)
-{
- Q_ASSERT(!m_catalogFile.isRelative());
- m_ts = new TestSuite();
- m_topLevelGroup = new TestGroup(m_ts);
- m_topLevelGroup->setTitle("XML Schema Test Suite");
- m_ts->appendChild(m_topLevelGroup);
-
- // exclude these test cases, as they break our current state machine
- m_blackList << QLatin1String("addB099")
- << QLatin1String("addB118")
- << QLatin1String("elemJ003")
- << QLatin1String("elemJ011")
- << QLatin1String("elemZ004")
- << QLatin1String("elemZ020")
- << QLatin1String("groupH021v")
- << QLatin1String("groupJ009v")
- << QLatin1String("name00101m2")
- << QLatin1String("schL5")
- << QLatin1String("ste110")
- << QLatin1String("stZ007")
- << QLatin1String("stZ047")
- << QLatin1String("stZ055")
- << QLatin1String("addB049")
- << QLatin1String("addB068")
- << QLatin1String("addB078")
- << QLatin1String("addB078A")
- << QLatin1String("addB078B")
- << QLatin1String("addB167")
- << QLatin1String("addB191")
- << QLatin1String("isDefault060_2")
- << QLatin1String("isDefault069")
- << QLatin1String("annotB025")
- << QLatin1String("base64Binary_enumeration003_1321")
- << QLatin1String("anyURI_a001_1336")
- << QLatin1String("anyURI_a001_1336")
- << QLatin1String("anyURI_a003_1338")
- << QLatin1String("anyURI_a004_1339")
- << QLatin1String("anyURI_b004_1354")
- << QLatin1String("anyURI_b004_1354")
- << QLatin1String("anyURI_b006_1356")
- << QLatin1String("QName_length001_1357")
- << QLatin1String("QName_length003_1359")
- << QLatin1String("QName_minLength003_1362")
- << QLatin1String("QName_maxLength001_1364")
- << QLatin1String("NOTATION_length001_1372")
- << QLatin1String("NOTATION_length003_1374")
- << QLatin1String("NOTATION_minLength003_1377")
- << QLatin1String("NOTATION_maxLength001_1379")
- << QLatin1String("hexBinary003_2069")
- << QLatin1String("QName009_2092")
- << QLatin1String("dtZ107447_a_2245")
- << QLatin1String("elemE001")
- << QLatin1String("elemE002")
- << QLatin1String("elemE003")
- << QLatin1String("elemE004")
- << QLatin1String("elemE005")
- << QLatin1String("elemT026")
- << QLatin1String("elemT027")
- << QLatin1String("elemT028")
- << QLatin1String("elemT029")
- << QLatin1String("elemT054")
- << QLatin1String("elemT055")
- << QLatin1String("elemT056")
- << QLatin1String("elemT057")
- << QLatin1String("elemZ006")
- << QLatin1String("elemZ007")
- << QLatin1String("elemZ026")
- << QLatin1String("elemZ027_c")
- << QLatin1String("elemZ028c")
- << QLatin1String("elemZ028d")
- << QLatin1String("elemZ028f1")
- << QLatin1String("elemZ028f1")
- << QLatin1String("elemZ028f2")
- << QLatin1String("elemZ028f2")
- << QLatin1String("elemZ028f3")
- << QLatin1String("elemZ028f3")
- << QLatin1String("elemZ031")
- << QLatin1String("errF001")
- << QLatin1String("idC019")
- << QLatin1String("idL100")
- << QLatin1String("idZ011")
- << QLatin1String("idZ015")
- << QLatin1String("mgO013")
- << QLatin1String("particlesA012")
- << QLatin1String("particlesA013")
- << QLatin1String("particlesA014")
- << QLatin1String("particlesA015")
- << QLatin1String("particlesHa161")
- << QLatin1String("particlesHb008")
- << QLatin1String("particlesHb011")
- << QLatin1String("particlesIe003")
- << QLatin1String("particlesIg003")
- << QLatin1String("particlesIg004")
- << QLatin1String("particlesJb003")
- << QLatin1String("particlesJd003")
- << QLatin1String("particlesJf003")
- << QLatin1String("particlesJk003")
- << QLatin1String("particlesOb001")
- << QLatin1String("particlesOb002")
- << QLatin1String("particlesOb004")
- << QLatin1String("particlesOb008")
- << QLatin1String("particlesOb009")
- << QLatin1String("particlesOb013")
- << QLatin1String("particlesOb018")
- << QLatin1String("particlesQ005")
- << QLatin1String("particlesS002")
- << QLatin1String("particlesT002")
- << QLatin1String("particlesT009")
- << QLatin1String("particlesT014")
- << QLatin1String("particlesV001")
- << QLatin1String("particlesV002")
- << QLatin1String("particlesV020")
- << QLatin1String("particlesZ001")
- << QLatin1String("particlesZ005")
- << QLatin1String("particlesZ007")
- << QLatin1String("particlesZ023")
- << QLatin1String("particlesZ024")
- << QLatin1String("particlesZ026")
- << QLatin1String("particlesZ028")
- << QLatin1String("particlesZ033_c")
- << QLatin1String("particlesZ033_d")
- << QLatin1String("particlesZ033_e")
- << QLatin1String("particlesZ033_f")
- << QLatin1String("particlesZ033_g")
- << QLatin1String("particlesZ034_a1")
- << QLatin1String("particlesZ034_a2")
- << QLatin1String("particlesZ034_a3")
- << QLatin1String("particlesZ034_b")
- << QLatin1String("particlesZ035_a")
- << QLatin1String("particlesZ035_b")
- << QLatin1String("particlesZ036_a")
- << QLatin1String("particlesZ036_b1")
- << QLatin1String("particlesZ036_b2")
- << QLatin1String("particlesZ036_c")
-/*
- << QLatin1String("reC65")
- << QLatin1String("reC66")
- << QLatin1String("reC67")
- << QLatin1String("reC68")
- << QLatin1String("reF58")
- << QLatin1String("reG50")
- << QLatin1String("reJ11")
- << QLatin1String("reJ13")
- << QLatin1String("reJ19")
- << QLatin1String("reJ21")
- << QLatin1String("reJ23")
- << QLatin1String("reJ25")
- << QLatin1String("reJ29")
- << QLatin1String("reJ31")
- << QLatin1String("reJ33")
- << QLatin1String("reJ35")
- << QLatin1String("reJ61")
- << QLatin1String("reJ69")
- << QLatin1String("reJ75")
- << QLatin1String("reJ77")
- << QLatin1String("reL98")
- << QLatin1String("reL99")
- << QLatin1String("reM98")
- << QLatin1String("reN99")
- << QLatin1String("reS21")
- << QLatin1String("reS42")
- << QLatin1String("reT63")
- << QLatin1String("reT84")
- << QLatin1String("reDG2")
- << QLatin1String("RegexTest_9")
- << QLatin1String("RegexTest_11")
- << QLatin1String("RegexTest_14")
- << QLatin1String("RegexTest_15")
- << QLatin1String("RegexTest_16")
- << QLatin1String("RegexTest_17")
- << QLatin1String("RegexTest_23")
- << QLatin1String("RegexTest_24")
- << QLatin1String("RegexTest_25")
- << QLatin1String("RegexTest_26")
- << QLatin1String("RegexTest_27")
- << QLatin1String("RegexTest_28")
- << QLatin1String("RegexTest_30")
- << QLatin1String("RegexTest_30")
- << QLatin1String("RegexTest_33")
- << QLatin1String("RegexTest_34")
- << QLatin1String("RegexTest_34")
- << QLatin1String("RegexTest_43")
- << QLatin1String("RegexTest_44")
- << QLatin1String("RegexTest_45")
- << QLatin1String("RegexTest_46")
- << QLatin1String("RegexTest_47")
- << QLatin1String("RegexTest_48")
- << QLatin1String("RegexTest_49")
- << QLatin1String("RegexTest_50")
- << QLatin1String("RegexTest_51")
- << QLatin1String("RegexTest_52")
- << QLatin1String("RegexTest_53")
- << QLatin1String("RegexTest_54")
- << QLatin1String("RegexTest_55")
- << QLatin1String("RegexTest_56")
- << QLatin1String("RegexTest_57")
- << QLatin1String("RegexTest_57")
- << QLatin1String("RegexTest_58")
- << QLatin1String("RegexTest_58")
- << QLatin1String("RegexTest_65")
- << QLatin1String("RegexTest_113")
- << QLatin1String("RegexTest_116")
- << QLatin1String("RegexTest_119")
- << QLatin1String("RegexTest_120")
- << QLatin1String("RegexTest_121")
- << QLatin1String("RegexTest_141")
- << QLatin1String("RegexTest_142")
- << QLatin1String("RegexTest_143")
- << QLatin1String("RegexTest_145")
- << QLatin1String("RegexTest_146")
- << QLatin1String("RegexTest_147")
- << QLatin1String("RegexTest_148")
- << QLatin1String("RegexTest_149")
- << QLatin1String("RegexTest_150")
- << QLatin1String("RegexTest_151")
- << QLatin1String("RegexTest_152")
- << QLatin1String("RegexTest_154")
- << QLatin1String("RegexTest_155")
- << QLatin1String("RegexTest_156")
- << QLatin1String("RegexTest_157")
- << QLatin1String("RegexTest_158")
- << QLatin1String("RegexTest_163")
- << QLatin1String("RegexTest_164")
- << QLatin1String("RegexTest_165")
- << QLatin1String("RegexTest_166")
- << QLatin1String("RegexTest_167")
- << QLatin1String("RegexTest_168")
- << QLatin1String("RegexTest_169")
- << QLatin1String("RegexTest_170")
- << QLatin1String("RegexTest_171")
- << QLatin1String("RegexTest_172")
- << QLatin1String("RegexTest_173")
- << QLatin1String("RegexTest_174")
- << QLatin1String("RegexTest_178")
- << QLatin1String("RegexTest_194")
- << QLatin1String("RegexTest_194")
- << QLatin1String("RegexTest_195")
- << QLatin1String("RegexTest_195")
- << QLatin1String("RegexTest_196")
- << QLatin1String("RegexTest_196")
- << QLatin1String("RegexTest_197")
- << QLatin1String("RegexTest_198")
- << QLatin1String("RegexTest_199")
- << QLatin1String("RegexTest_200")
- << QLatin1String("RegexTest_200")
- << QLatin1String("RegexTest_201")
- << QLatin1String("RegexTest_201")
- << QLatin1String("RegexTest_202")
- << QLatin1String("RegexTest_202")
- << QLatin1String("RegexTest_203")
- << QLatin1String("RegexTest_204")
- << QLatin1String("RegexTest_205")
- << QLatin1String("RegexTest_206")
- << QLatin1String("RegexTest_207")
- << QLatin1String("RegexTest_208")
- << QLatin1String("RegexTest_209")
- << QLatin1String("RegexTest_209")
- << QLatin1String("RegexTest_210")
- << QLatin1String("RegexTest_210")
- << QLatin1String("RegexTest_211")
- << QLatin1String("RegexTest_211")
- << QLatin1String("RegexTest_212")
- << QLatin1String("RegexTest_213")
- << QLatin1String("RegexTest_214")
- << QLatin1String("RegexTest_215")
- << QLatin1String("RegexTest_216")
- << QLatin1String("RegexTest_217")
- << QLatin1String("RegexTest_218")
- << QLatin1String("RegexTest_220")
- << QLatin1String("RegexTest_221")
- << QLatin1String("RegexTest_222")
- << QLatin1String("RegexTest_226")
- << QLatin1String("RegexTest_230")
- << QLatin1String("RegexTest_232")
- << QLatin1String("RegexTest_233")
- << QLatin1String("RegexTest_294")
- << QLatin1String("RegexTest_294")
- << QLatin1String("RegexTest_295")
- << QLatin1String("RegexTest_295")
- << QLatin1String("RegexTest_299")
- << QLatin1String("RegexTest_300")
- << QLatin1String("RegexTest_301")
- << QLatin1String("RegexTest_302")
- << QLatin1String("RegexTest_303")
- << QLatin1String("RegexTest_304")
- << QLatin1String("RegexTest_305")
- << QLatin1String("RegexTest_306")
- << QLatin1String("RegexTest_307")
- << QLatin1String("RegexTest_308")
- << QLatin1String("RegexTest_309")
- << QLatin1String("RegexTest_310")
- << QLatin1String("RegexTest_311")
- << QLatin1String("RegexTest_312")
- << QLatin1String("RegexTest_313")
- << QLatin1String("RegexTest_314")
- << QLatin1String("RegexTest_315")
- << QLatin1String("RegexTest_315")
- << QLatin1String("RegexTest_316")
- << QLatin1String("RegexTest_316")
- << QLatin1String("RegexTest_317")
- << QLatin1String("RegexTest_317")
- << QLatin1String("RegexTest_440")
- << QLatin1String("RegexTest_441")
- << QLatin1String("RegexTest_442")
- << QLatin1String("RegexTest_443")
- << QLatin1String("RegexTest_448")
- << QLatin1String("RegexTest_449")
- << QLatin1String("RegexTest_450")
- << QLatin1String("RegexTest_451")
- << QLatin1String("RegexTest_458")
- << QLatin1String("RegexTest_464")
- << QLatin1String("RegexTest_464")
- << QLatin1String("RegexTest_465")
- << QLatin1String("RegexTest_469")
- << QLatin1String("RegexTest_470")
- << QLatin1String("RegexTest_471")
- << QLatin1String("RegexTest_472")
- << QLatin1String("RegexTest_473")
- << QLatin1String("RegexTest_477")
- << QLatin1String("RegexTest_478")
- << QLatin1String("RegexTest_478")
- << QLatin1String("RegexTest_479")
- << QLatin1String("RegexTest_480")
- << QLatin1String("RegexTest_481")
- << QLatin1String("RegexTest_482")
- << QLatin1String("RegexTest_482")
- << QLatin1String("RegexTest_483")
- << QLatin1String("RegexTest_483")
- << QLatin1String("RegexTest_484")
- << QLatin1String("RegexTest_487")
- << QLatin1String("RegexTest_516")
- << QLatin1String("RegexTest_516")
- << QLatin1String("RegexTest_517")
- << QLatin1String("RegexTest_517")
- << QLatin1String("RegexTest_518")
- << QLatin1String("RegexTest_518")
- << QLatin1String("RegexTest_519")
- << QLatin1String("RegexTest_519")
- << QLatin1String("RegexTest_521")
- << QLatin1String("RegexTest_523")
- << QLatin1String("RegexTest_524")
- << QLatin1String("RegexTest_524")
- << QLatin1String("RegexTest_586")
- << QLatin1String("RegexTest_587")
- << QLatin1String("RegexTest_592")
- << QLatin1String("RegexTest_593")
- << QLatin1String("RegexTest_594")
- << QLatin1String("RegexTest_595")
- << QLatin1String("RegexTest_596")
- << QLatin1String("RegexTest_597")
- << QLatin1String("RegexTest_598")
- << QLatin1String("RegexTest_599")
- << QLatin1String("RegexTest_600")
- << QLatin1String("RegexTest_601")
- << QLatin1String("RegexTest_602")
- << QLatin1String("RegexTest_603")
- << QLatin1String("RegexTest_604")
- << QLatin1String("RegexTest_605")
- << QLatin1String("RegexTest_648")
- << QLatin1String("RegexTest_655")
- << QLatin1String("RegexTest_688")
- << QLatin1String("RegexTest_696")
- << QLatin1String("RegexTest_697")
- << QLatin1String("RegexTest_698")
- << QLatin1String("RegexTest_700")
- << QLatin1String("RegexTest_701")
- << QLatin1String("RegexTest_702")
- << QLatin1String("RegexTest_703")
- << QLatin1String("RegexTest_704")
- << QLatin1String("RegexTest_705")
- << QLatin1String("RegexTest_706")
- << QLatin1String("RegexTest_707")
- << QLatin1String("RegexTest_717")
- << QLatin1String("RegexTest_718")
- << QLatin1String("RegexTest_719")
- << QLatin1String("RegexTest_724")
- << QLatin1String("RegexTest_725")
- << QLatin1String("RegexTest_726")
- << QLatin1String("RegexTest_727")
- << QLatin1String("RegexTest_728")
- << QLatin1String("RegexTest_729")
- << QLatin1String("RegexTest_730")
- << QLatin1String("RegexTest_731")
- << QLatin1String("RegexTest_732")
- << QLatin1String("RegexTest_733")
- << QLatin1String("RegexTest_743")
- << QLatin1String("RegexTest_755")
- << QLatin1String("RegexTest_756")
- << QLatin1String("RegexTest_761")
- << QLatin1String("RegexTest_762")
- << QLatin1String("RegexTest_781")
- << QLatin1String("RegexTest_782")
- << QLatin1String("RegexTest_783")
- << QLatin1String("RegexTest_790")
- << QLatin1String("RegexTest_791")
- << QLatin1String("RegexTest_824")
- << QLatin1String("RegexTest_826")
- << QLatin1String("RegexTest_827")
- << QLatin1String("RegexTest_836")
- << QLatin1String("RegexTest_837")
- << QLatin1String("RegexTest_841")
- << QLatin1String("RegexTest_842")
- << QLatin1String("RegexTest_843")
- << QLatin1String("RegexTest_844")
- << QLatin1String("RegexTest_845")
- << QLatin1String("RegexTest_846")
- << QLatin1String("RegexTest_847")
- << QLatin1String("RegexTest_848")
- << QLatin1String("RegexTest_851")
- << QLatin1String("RegexTest_852")
- << QLatin1String("RegexTest_853")
- << QLatin1String("RegexTest_854")
- << QLatin1String("RegexTest_855")
- << QLatin1String("RegexTest_856")
- << QLatin1String("RegexTest_857")
- << QLatin1String("RegexTest_861")
- << QLatin1String("RegexTest_862")
- << QLatin1String("RegexTest_863")
- << QLatin1String("RegexTest_864")
- << QLatin1String("RegexTest_865")
- << QLatin1String("RegexTest_866")
- << QLatin1String("RegexTest_870")
- << QLatin1String("RegexTest_879")
- << QLatin1String("RegexTest_880")
- << QLatin1String("RegexTest_888")
- << QLatin1String("RegexTest_889")
- << QLatin1String("RegexTest_890")
- << QLatin1String("RegexTest_891")
- << QLatin1String("RegexTest_892")
- << QLatin1String("RegexTest_893")
- << QLatin1String("RegexTest_894")
- << QLatin1String("RegexTest_895")
- << QLatin1String("RegexTest_896")
- << QLatin1String("RegexTest_897")
- << QLatin1String("RegexTest_898")
- << QLatin1String("RegexTest_899")
- << QLatin1String("RegexTest_900")
- << QLatin1String("RegexTest_901")
- << QLatin1String("RegexTest_902")
- << QLatin1String("RegexTest_903")
- << QLatin1String("RegexTest_904")
- << QLatin1String("RegexTest_905")
- << QLatin1String("RegexTest_906")
- << QLatin1String("RegexTest_907")
- << QLatin1String("RegexTest_908")
- << QLatin1String("RegexTest_909")
- << QLatin1String("RegexTest_910")
- << QLatin1String("RegexTest_911")
- << QLatin1String("RegexTest_912")
- << QLatin1String("RegexTest_913")
- << QLatin1String("RegexTest_914")
- << QLatin1String("RegexTest_915")
- << QLatin1String("RegexTest_916")
- << QLatin1String("RegexTest_917")
- << QLatin1String("RegexTest_918")
- << QLatin1String("RegexTest_919")
- << QLatin1String("RegexTest_920")
- << QLatin1String("RegexTest_921")
- << QLatin1String("RegexTest_922")
- << QLatin1String("RegexTest_923")
- << QLatin1String("RegexTest_924")
- << QLatin1String("RegexTest_925")
- << QLatin1String("RegexTest_926")
- << QLatin1String("RegexTest_928")
- << QLatin1String("RegexTest_929")
- << QLatin1String("RegexTest_930")
- << QLatin1String("RegexTest_936")
- << QLatin1String("RegexTest_937")
- << QLatin1String("RegexTest_938")
- << QLatin1String("RegexTest_939")
- << QLatin1String("RegexTest_940")
- << QLatin1String("RegexTest_941")
- << QLatin1String("RegexTest_942")
- << QLatin1String("RegexTest_943")
- << QLatin1String("RegexTest_944")
- << QLatin1String("RegexTest_945")
- << QLatin1String("RegexTest_946")
- << QLatin1String("RegexTest_949")
- << QLatin1String("RegexTest_950")
- << QLatin1String("RegexTest_951")
- << QLatin1String("RegexTest_952")
- << QLatin1String("RegexTest_953")
- << QLatin1String("RegexTest_954")
- << QLatin1String("RegexTest_955")
- << QLatin1String("RegexTest_956")
- << QLatin1String("RegexTest_957")
- << QLatin1String("RegexTest_958")
- << QLatin1String("RegexTest_959")
- << QLatin1String("RegexTest_960")
- << QLatin1String("RegexTest_961")
- << QLatin1String("RegexTest_962")
- << QLatin1String("RegexTest_963")
- << QLatin1String("RegexTest_964")
- << QLatin1String("RegexTest_976")
- << QLatin1String("RegexTest_977")
- << QLatin1String("RegexTest_988")
- << QLatin1String("RegexTest_989")
- << QLatin1String("RegexTest_990")
- << QLatin1String("RegexTest_991")
- << QLatin1String("RegexTest_994")
- << QLatin1String("RegexTest_995")
- << QLatin1String("RegexTest_996")
- << QLatin1String("RegexTest_997")
- << QLatin1String("RegexTest_1000")
- << QLatin1String("RegexTest_1001")
- << QLatin1String("RegexTest_1002")
- << QLatin1String("RegexTest_1003")
- << QLatin1String("RegexTest_1004")
- << QLatin1String("RegexTest_1007")
- << QLatin1String("RegexTest_1008")
- << QLatin1String("RegexTest_1009")
- << QLatin1String("RegexTest_1010")
- << QLatin1String("RegexTest_1011")
- << QLatin1String("RegexTest_1012")
- << QLatin1String("RegexTest_1013")
- << QLatin1String("RegexTest_1014")
- << QLatin1String("RegexTest_1015")
- << QLatin1String("RegexTest_1016")
- << QLatin1String("RegexTest_1017")
- << QLatin1String("RegexTest_1018")
- << QLatin1String("RegexTest_1019")
- << QLatin1String("RegexTest_1070")
- << QLatin1String("RegexTest_1071")
- << QLatin1String("RegexTest_1076")
- << QLatin1String("RegexTest_1077")
- << QLatin1String("RegexTest_1078")
- << QLatin1String("RegexTest_1079")
- << QLatin1String("RegexTest_1080")
- << QLatin1String("RegexTest_1081")
- << QLatin1String("RegexTest_1082")
- << QLatin1String("RegexTest_1083")
- << QLatin1String("RegexTest_1084")
- << QLatin1String("RegexTest_1085")
- << QLatin1String("RegexTest_1086")
- << QLatin1String("RegexTest_1087")
- << QLatin1String("RegexTest_1088")
- << QLatin1String("RegexTest_1089")
- << QLatin1String("RegexTest_1132")
- << QLatin1String("RegexTest_1139")
- << QLatin1String("RegexTest_1172")
- << QLatin1String("RegexTest_1180")
- << QLatin1String("RegexTest_1181")
- << QLatin1String("RegexTest_1182")
- << QLatin1String("RegexTest_1184")
- << QLatin1String("RegexTest_1185")
- << QLatin1String("RegexTest_1186")
- << QLatin1String("RegexTest_1187")
- << QLatin1String("RegexTest_1188")
- << QLatin1String("RegexTest_1189")
- << QLatin1String("RegexTest_1190")
- << QLatin1String("RegexTest_1191")
- << QLatin1String("RegexTest_1201")
- << QLatin1String("RegexTest_1202")
- << QLatin1String("RegexTest_1203")
- << QLatin1String("RegexTest_1208")
- << QLatin1String("RegexTest_1209")
- << QLatin1String("RegexTest_1210")
- << QLatin1String("RegexTest_1211")
- << QLatin1String("RegexTest_1212")
- << QLatin1String("RegexTest_1213")
- << QLatin1String("RegexTest_1214")
- << QLatin1String("RegexTest_1215")
- << QLatin1String("RegexTest_1216")
- << QLatin1String("RegexTest_1217")
- << QLatin1String("RegexTest_1227")
- << QLatin1String("RegexTest_1239")
- << QLatin1String("RegexTest_1240")
- << QLatin1String("RegexTest_1245")
- << QLatin1String("RegexTest_1246")
- << QLatin1String("RegexTest_1265")
- << QLatin1String("RegexTest_1266")
- << QLatin1String("RegexTest_1267")
- << QLatin1String("RegexTest_1274")
- << QLatin1String("RegexTest_1275")
- << QLatin1String("RegexTest_1308")
- << QLatin1String("RegexTest_1310")
- << QLatin1String("RegexTest_1311")
- << QLatin1String("RegexTest_1320")
- << QLatin1String("RegexTest_1321")
- << QLatin1String("RegexTest_1322")
- << QLatin1String("RegexTest_1323")
- << QLatin1String("RegexTest_1324")
- << QLatin1String("RegexTest_1325")
- << QLatin1String("RegexTest_1326")
- << QLatin1String("RegexTest_1327")
- << QLatin1String("RegexTest_1328")
- << QLatin1String("RegexTest_1329")
- << QLatin1String("RegexTest_1330")
- << QLatin1String("RegexTest_1331")
- << QLatin1String("RegexTest_1332")
- << QLatin1String("RegexTest_1335")
- << QLatin1String("RegexTest_1336")
- << QLatin1String("RegexTest_1337")
- << QLatin1String("RegexTest_1338")
- << QLatin1String("RegexTest_1339")
- << QLatin1String("RegexTest_1340")
- << QLatin1String("RegexTest_1341")
- << QLatin1String("RegexTest_1345")
- << QLatin1String("RegexTest_1346")
- << QLatin1String("RegexTest_1347")
- << QLatin1String("RegexTest_1348")
- << QLatin1String("RegexTest_1349")
- << QLatin1String("RegexTest_1350")
- << QLatin1String("RegexTest_1354")
- << QLatin1String("RegexTest_1363")
- << QLatin1String("RegexTest_1364")
- << QLatin1String("RegexTest_1365")
- << QLatin1String("RegexTest_1372")
- << QLatin1String("RegexTest_1373")
- << QLatin1String("RegexTest_1374")
- << QLatin1String("RegexTest_1375")
- << QLatin1String("RegexTest_1376")
- << QLatin1String("RegexTest_1377")
- << QLatin1String("RegexTest_1378")
- << QLatin1String("RegexTest_1379")
- << QLatin1String("RegexTest_1380")
- << QLatin1String("RegexTest_1381")
- << QLatin1String("RegexTest_1382")
- << QLatin1String("RegexTest_1383")
- << QLatin1String("RegexTest_1384")
- << QLatin1String("RegexTest_1385")
- << QLatin1String("RegexTest_1386")
- << QLatin1String("RegexTest_1387")
- << QLatin1String("RegexTest_1388")
- << QLatin1String("RegexTest_1389")
- << QLatin1String("RegexTest_1390")
- << QLatin1String("RegexTest_1391")
- << QLatin1String("RegexTest_1392")
- << QLatin1String("RegexTest_1393")
- << QLatin1String("RegexTest_1394")
- << QLatin1String("RegexTest_1395")
- << QLatin1String("RegexTest_1396")
- << QLatin1String("RegexTest_1397")
- << QLatin1String("RegexTest_1398")
- << QLatin1String("RegexTest_1399")
- << QLatin1String("RegexTest_1400")
- << QLatin1String("RegexTest_1401")
- << QLatin1String("RegexTest_1402")
- << QLatin1String("RegexTest_1403")
- << QLatin1String("RegexTest_1404")
- << QLatin1String("RegexTest_1405")
- << QLatin1String("RegexTest_1406")
- << QLatin1String("RegexTest_1407")
- << QLatin1String("RegexTest_1408")
- << QLatin1String("RegexTest_1409")
- << QLatin1String("RegexTest_1410")
- << QLatin1String("RegexTest_1412")
- << QLatin1String("RegexTest_1413")
- << QLatin1String("RegexTest_1414")
- << QLatin1String("RegexTest_1420")
- << QLatin1String("RegexTest_1421")
- << QLatin1String("RegexTest_1422")
- << QLatin1String("RegexTest_1423")
- << QLatin1String("RegexTest_1424")
- << QLatin1String("RegexTest_1425")
- << QLatin1String("RegexTest_1426")
- << QLatin1String("RegexTest_1427")
- << QLatin1String("RegexTest_1428")
- << QLatin1String("RegexTest_1429")
- << QLatin1String("RegexTest_1430")
- << QLatin1String("RegexTest_1433")
- << QLatin1String("RegexTest_1434")
- << QLatin1String("RegexTest_1435")
- << QLatin1String("RegexTest_1436")
- << QLatin1String("RegexTest_1437")
- << QLatin1String("RegexTest_1438")
- << QLatin1String("RegexTest_1439")
- << QLatin1String("RegexTest_1440")
- << QLatin1String("RegexTest_1441")
- << QLatin1String("RegexTest_1442")
- << QLatin1String("RegexTest_1443")
- << QLatin1String("RegexTest_1444")
- << QLatin1String("RegexTest_1445")
- << QLatin1String("RegexTest_1446")
- << QLatin1String("RegexTest_1447")
- << QLatin1String("RegexTest_1448")
- << QLatin1String("RegexTest_1451")
- << QLatin1String("RegexTest_1452")
- << QLatin1String("RegexTest_1453")
- << QLatin1String("RegexTest_1454")
- << QLatin1String("RegexTest_1455")
- << QLatin1String("RegexTest_1456")
- << QLatin1String("RegexTest_1472")
- << QLatin1String("RegexTest_1473")
- << QLatin1String("RegexTest_1474")
- << QLatin1String("RegexTest_1475")
- << QLatin1String("RegexTest_1478")
- << QLatin1String("RegexTest_1479")
- << QLatin1String("RegexTest_1480")
- << QLatin1String("RegexTest_1481")
- << QLatin1String("RegexTest_1484")
- << QLatin1String("RegexTest_1485")
- << QLatin1String("RegexTest_1486")
- << QLatin1String("RegexTest_1487")
- << QLatin1String("RegexTest_1488")
- << QLatin1String("RegexTest_1491")
- << QLatin1String("RegexTest_1492")
- << QLatin1String("RegexTest_1493")
- << QLatin1String("RegexTest_1494")
- << QLatin1String("RegexTest_1495")
- << QLatin1String("RegexTest_1496")
- << QLatin1String("RegexTest_1497")
- << QLatin1String("RegexTest_1498")
- << QLatin1String("RegexTest_1499")
- << QLatin1String("RegexTest_1500")
- << QLatin1String("RegexTest_1501")
- << QLatin1String("RegexTest_1502")
- << QLatin1String("RegexTest_1503")
- << QLatin1String("RegexTest_1543")
- << QLatin1String("RegexTest_1544")
- << QLatin1String("reZ001")
-*/
- << QLatin1String("schA2")
- << QLatin1String("schA5")
- << QLatin1String("schA7")
- << QLatin1String("schD8")
- << QLatin1String("schG3")
- << QLatin1String("schG6")
- << QLatin1String("schG9")
- << QLatin1String("schG11")
- << QLatin1String("schG12")
- << QLatin1String("schU1")
- << QLatin1String("schU3")
- << QLatin1String("schU4")
- << QLatin1String("schU5")
- << QLatin1String("schZ004")
- << QLatin1String("schZ005")
- << QLatin1String("schZ012_a")
- << QLatin1String("stZ041")
- << QLatin1String("wildZ010");
-}
-
-bool XSDTestSuiteHandler::startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &/*qName*/,
- const QXmlAttributes &atts)
-{
- if(namespaceURI != QString::fromLatin1("http://www.w3.org/XML/2004/xml-schema-test-suite/"))
- return true;
-
- if (localName == QLatin1String("testSet")) {
- m_currentTestSet = new TestGroup(m_topLevelGroup);
- Q_ASSERT(m_currentTestSet);
- m_currentTestSet->setTitle(atts.value("name"));
- m_topLevelGroup->appendChild(m_currentTestSet);
- } else if (localName == QLatin1String("testGroup")) {
- m_currentTestGroup = new TestGroup(m_currentTestSet);
- Q_ASSERT(m_currentTestGroup);
- m_currentTestGroup->setTitle(atts.value("name"));
- m_currentTestSet->appendChild(m_currentTestGroup);
- m_inTestGroup = true;
- } else if (localName == QLatin1String("schemaTest")) {
- if (m_blackList.contains(atts.value("name"))) {
- m_currentTestCase = 0;
- m_schemaBlacklisted = true;
- return true;
- }
- m_schemaBlacklisted = false;
-
- m_currentTestCase = new XSDTSTestCase(TestCase::Standard, m_currentTestGroup, XSDTSTestCase::SchemaTest);
- Q_ASSERT(m_currentTestCase);
- m_counter++;
- m_currentTestCase->setName(QString::number(m_counter) + atts.value("name"));
- m_currentTestGroup->appendChild(m_currentTestCase);
- m_currentTestCase->setParent(m_currentTestGroup);
-
- m_inSchemaTest = true;
- } else if (localName == QLatin1String("instanceTest")) {
- if (m_schemaBlacklisted) {
- m_currentTestCase = 0;
- return true;
- }
-
- m_currentTestCase = new XSDTSTestCase(TestCase::Standard, m_currentTestGroup, XSDTSTestCase::InstanceTest);
- Q_ASSERT(m_currentTestCase);
- m_counter++;
- m_currentTestCase->setName(QString::number(m_counter) + atts.value("name"));
- m_currentTestGroup->appendChild(m_currentTestCase);
-
- m_inInstanceTest = true;
- } else if (localName == QLatin1String("schemaDocument") || localName == QLatin1String("instanceDocument")) {
- if (m_inSchemaTest) {
- m_currentTestCase->setSchemaUri(QUrl(atts.value("xlink:href")));
- if (m_currentSchemaLink.isEmpty()) // we only use the first schema document for validation
- m_currentSchemaLink = atts.value("xlink:href");
- }
- if (m_inInstanceTest) {
- m_currentTestCase->setInstanceUri(QUrl(atts.value("xlink:href")));
- m_currentTestCase->setSchemaUri(QUrl(m_currentSchemaLink));
- }
- } else if (localName == QLatin1String("expected") && (m_inSchemaTest || m_inInstanceTest)) {
- TestBaseLine *baseLine = new TestBaseLine(TestBaseLine::SchemaIsValid);
- if (atts.value("validity") == QLatin1String("valid")) {
- baseLine->setDetails(QLatin1String("true"));
- m_currentTestCase->setName(m_currentTestCase->name() + QLatin1String(" tokoe:valid"));
- } else {
- baseLine->setDetails(QLatin1String("false"));
- m_currentTestCase->setName(m_currentTestCase->name() + QLatin1String(" tokoe:invalid"));
- }
-
- m_currentTestCase->addBaseLine(baseLine);
- } else if (localName == QLatin1String("documentation") && m_inTestGroup) {
- m_inDescription = true;
- }
-
- return true;
-}
-
-bool XSDTestSuiteHandler::endElement(const QString &/*namespaceURI*/,
- const QString &localName,
- const QString &/*qName*/)
-{
- if (localName == QLatin1String("testGroup")) {
- m_inTestGroup = false;
- m_currentTestGroup->setDescription(m_documentation);
- m_documentation.clear();
- m_currentSchemaLink.clear();
-
- if (m_currentTestGroup->childCount() == 0)
- m_currentTestSet->removeLast();
- } else if (localName == QLatin1String("schemaTest"))
- m_inSchemaTest = false;
- else if (localName == QLatin1String("instanceTest"))
- m_inInstanceTest = false;
- else if (localName == QLatin1String("documentation"))
- m_inDescription = false;
-
- return true;
-}
-
-bool XSDTestSuiteHandler::characters(const QString &ch)
-{
- if (m_inDescription)
- m_documentation += ch;
-
- return true;
-}
-
-TestSuite *XSDTestSuiteHandler::testSuite() const
-{
- return m_ts;
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h
deleted file mode 100644
index 5493c7d272..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the autotests of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XSDTestSuiteHandler_H
-#define PatternistSDK_XSDTestSuiteHandler_H
-
-#include <QUrl>
-#include <QXmlDefaultHandler>
-
-#include "ExternalSourceLoader.h"
-#include "TestSuite.h"
-#include "XQTSTestCase.h"
-
-QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class TestBaseLine;
- class TestGroup;
- class XSDTSTestCase;
-
- /**
- * @short Creates a TestSuite from the XSD Test Suite.
- *
- * The created TestSuite can be retrieved via testSuite().
- *
- * @note XSDTestSuiteHandler assumes the XML is valid by having been validated
- * against the W3C XML Schema. It has no safety checks for that the XML format
- * is correct but is hard coded for it. Thus, the behavior is undefined if
- * the XML is invalid.
- *
- * @ingroup PatternistSDK
- * @author Tobias Koenig <tobias.koenig@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT XSDTestSuiteHandler : public QXmlDefaultHandler
- {
- public:
- /**
- * @param catalogFile the URI for the catalog file being parsed. This
- * URI is used for creating absolute URIs for files mentioned in
- * the catalog with relative URIs.
- * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
- * test groups when loading
- */
- XSDTestSuiteHandler(const QUrl &catalogFile);
- virtual bool characters(const QString &ch);
-
- virtual bool endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName);
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
-
- virtual TestSuite *testSuite() const;
-
- private:
- TestSuite* m_ts;
- const QUrl m_catalogFile;
-
- TestGroup* m_topLevelGroup;
- TestGroup* m_currentTestSet;
- TestGroup* m_currentTestGroup;
- XSDTSTestCase* m_currentTestCase;
- bool m_inSchemaTest;
- bool m_inInstanceTest;
- bool m_inTestGroup;
- bool m_inDescription;
- bool m_schemaBlacklisted;
- QString m_documentation;
- QString m_currentSchemaLink;
- int m_counter;
- QSet<QString> m_blackList;
- };
-}
-
-QT_END_NAMESPACE
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp
deleted file mode 100644
index cfc3b2b3dc..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtDebug>
-
-#include "qacceltreeresourceloader_p.h"
-#include "qnetworkaccessdelegator_p.h"
-
-#include "Global.h"
-#include "TestBaseLine.h"
-#include "TestGroup.h"
-
-#include "XSLTTestSuiteHandler.h"
-
-using namespace QPatternistSDK;
-
-extern QNetworkAccessManager s_networkManager;
-
-XSLTTestSuiteHandler::XSLTTestSuiteHandler(const QUrl &catalogFile) : m_ts(0)
- , m_tc(0)
- , m_baseLine(0)
- , m_catalogFile(catalogFile)
- , m_removeTestcase(false)
-{
- const QPatternist::NetworkAccessDelegator::Ptr networkDelegator(new QPatternist::NetworkAccessDelegator(&s_networkManager, &s_networkManager));
-
- m_resourceLoader = QPatternist::ResourceLoader::Ptr(new QPatternist::AccelTreeResourceLoader(Global::namePool(),
- networkDelegator));
- Q_ASSERT(!m_catalogFile.isRelative());
-}
-
-bool XSLTTestSuiteHandler::startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &/*qName*/,
- const QXmlAttributes &atts)
- {
- if(namespaceURI != Global::xsltsCatalogNS)
- return true;
-
- /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
- if(localName == QLatin1String("testcase"))
- {
- /* We pass m_ts temporarily, and change it later. */
- m_tc = new XQTSTestCase(TestCase::Standard, 0, QXmlQuery::XSLT20);
-
- m_currentQueryPath = m_queryOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
- m_currentBaselinePath = m_baselineOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
- }
- else if(localName == QLatin1String("stylesheet"))
- m_tc->setQueryPath(m_currentQueryPath.resolved(atts.value(QLatin1String("file"))));
- else if(localName == QLatin1String("error"))
- {
- m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
- m_baseLine->setDetails(atts.value(QLatin1String("error-id")));
- m_tc->addBaseLine(m_baseLine);
- }
- else if(localName == QLatin1String("testcases"))
- {
- m_ts = new TestSuite();
- m_ts->setVersion(atts.value(QLatin1String("testSuiteVersion")));
-
- m_queryOffset = m_catalogFile.resolved(atts.value(QLatin1String("InputOffsetPath")));
- m_baselineOffset = m_catalogFile.resolved(atts.value(QLatin1String("ResultOffsetPath")));
- m_sourceOffset = m_catalogFile.resolved(atts.value(QLatin1String("InputOffsetPath")));
- }
- else if(localName == QLatin1String("source-document"))
- {
- if(atts.value(QLatin1String("role")) == QLatin1String("principal"))
- m_tc->setContextItemSource(m_sourceOffset.resolved(QUrl(atts.value(QLatin1String("file")))));
- }
- else if(localName == QLatin1String("result-document"))
- {
- m_baseLine = new TestBaseLine(TestBaseLine::identifierFromString(atts.value(QLatin1String("type"))));
- m_baseLine->setDetails(m_currentBaselinePath.resolved(atts.value(QLatin1String("file"))).toString());
- m_tc->addBaseLine(m_baseLine);
- }
- else if(localName == QLatin1String("discretionary-feature"))
- {
- const QString feature(atts.value(QLatin1String("name")));
-
- m_removeTestcase = feature == QLatin1String("schema_aware") ||
- feature == QLatin1String("namespace_axis") ||
- feature == QLatin1String("disabling_output_escaping") ||
- feature == QLatin1String("XML_1.1");
- }
- else if(localName == QLatin1String("discretionary-choice"))
- {
- m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
- m_baseLine->setDetails(atts.value(QLatin1String("name")));
- m_tc->addBaseLine(m_baseLine);
- const QString feature(atts.value(QLatin1String("name")));
-
- m_removeTestcase = feature == QLatin1String("schema_aware") ||
- feature == QLatin1String("namespace_axis") ||
- feature == QLatin1String("disabling_output_escaping") ||
- feature == QLatin1String("XML_1.1");
- }
- else if(localName == QLatin1String("entry-named-template"))
- {
- const QString name(atts.value(QLatin1String("qname")));
-
- if(!name.contains(QLatin1Char(':')))
- {
- // TODO do namespace processing
- const QXmlName complete(Global::namePool()->allocateQName(QString(), name));
-
- m_tc->setInitialTemplateName(complete);
- }
- }
-
- return true;
-}
-
-TestGroup *XSLTTestSuiteHandler::containerFor(const QString &name)
-{
- TestGroup *& c = m_containers[name];
-
- if(!c)
- {
- c = new TestGroup(m_ts);
- c->setTitle(name);
- Q_ASSERT(c);
- m_ts->appendChild(c);
- }
-
- return c;
-}
-
-bool XSLTTestSuiteHandler::endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &/*qName*/)
-{
- if(namespaceURI != Global::xsltsCatalogNS)
- return true;
-
- /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
- if(localName == QLatin1String("description"))
- {
- if(m_tc)
- {
- /* We're inside a <testcase>, so the <description> belongs
- * to the testcase. */
- m_tc->setDescription(m_ch.simplified());
- }
- }
- else if(localName == QLatin1String("testcase"))
- {
- Q_ASSERT(m_tc->baseLines().count() >= 1);
- Q_ASSERT(m_resourceLoader);
- // TODO can this be removed?
- m_tc->setExternalVariableLoader(QPatternist::ExternalVariableLoader::Ptr
- (new ExternalSourceLoader(m_tcSourceInputs,
- m_resourceLoader)));
- m_tcSourceInputs.clear();
-
- if(!m_removeTestcase)
- {
- /*
- TestContainer *const container = containerFor(m_currentCategory);
- delete m_tc;
- container->removeLast();
- */
- TestContainer *const container = containerFor(m_currentCategory);
- m_tc->setParent(container);
- Q_ASSERT(m_tc);
- container->appendChild(m_tc);
- }
-
- m_tc = 0;
- m_removeTestcase = false;
- }
- else if(localName == QLatin1String("name"))
- m_tc->setName(m_ch);
- else if(localName == QLatin1String("creator"))
- m_tc->setCreator(m_ch);
- else if(localName == QLatin1String("contextItem"))
- m_contextItemSource = m_ch;
- else if(localName == QLatin1String("category"))
- m_currentCategory = m_ch;
-
- return true;
-}
-
-bool XSLTTestSuiteHandler::characters(const QString &ch)
-{
- m_ch = ch;
- return true;
-}
-
-TestSuite *XSLTTestSuiteHandler::testSuite() const
-{
- return m_ts;
-}
-
-// vim: et:ts=4:sw=4:sts=4
-
diff --git a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h
deleted file mode 100644
index 86147894b7..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XSLTTestSuiteHandler_H
-#define PatternistSDK_XSLTTestSuiteHandler_H
-
-#include <QStack>
-#include <QUrl>
-#include <QXmlDefaultHandler>
-
-#include "ExternalSourceLoader.h"
-#include "TestSuite.h"
-#include "XQTSTestCase.h"
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-namespace QPatternistSDK
-{
- class TestBaseLine;
- class TestGroup;
-
- /**
- * @short Creates a TestSuite from the XQuery Test Suite catalog.
- *
- * The created TestSuite can be retrieved via testSuite().
- *
- * @note XSLTTestSuiteHandler assumes the XML is valid by having been validated
- * against the W3C XML Schema. It has no safety checks for that the XML format
- * is correct but is hard coded for it. Thus, the behavior is undefined if
- * the XML is invalid.
- *
- * @see http://www.w3.org/XML/Group/xslt20-test/TestSuiteStagingArea/catalog.html
- * @see http://www.w3.org/XML/Group/xslt20-test/Documentation/XSLT2Test.htm
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class Q_PATTERNISTSDK_EXPORT XSLTTestSuiteHandler : public QXmlDefaultHandler
- {
- public:
- /**
- * @param catalogFile the URI for the catalog file being parsed. This
- * URI is used for creating absolute URIs for files mentioned in
- * the catalog with relative URIs.
- * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
- * test groups when loading
- */
- XSLTTestSuiteHandler(const QUrl &catalogFile);
- virtual bool characters(const QString &ch);
-
- virtual bool endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName);
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
-
- virtual TestSuite *testSuite() const;
-
- private:
- TestGroup *containerFor(const QString &name);
-
- QHash<QString, TestGroup *> m_containers;
-
- TestSuite * m_ts;
- XQTSTestCase * m_tc;
- TestBaseLine * m_baseLine;
- QString m_ch;
- const QUrl m_catalogFile;
-
- /**
- * The base URI for where the XQuery query files are found.
- * It is absolute, resolved against catalogFile.
- */
- QUrl m_queryOffset;
-
- QUrl m_baselineOffset;
- QUrl m_sourceOffset;
- QUrl m_currentQueryPath;
- QUrl m_currentBaselinePath;
-
- /**
- * In the XQTSCatalog.xml, each source file in each test is referred to
- * by a key, which can be fully looked up in the @c sources element. This QHash
- * maps the keys to absolute URIs pointing to the source files.
- */
- ExternalSourceLoader::SourceMap m_sourceMap;
-
- ExternalSourceLoader::VariableMap m_tcSourceInputs;
-
- QPatternist::ResourceLoader::Ptr m_resourceLoader;
-
- /**
- * The current value of <tt>input-file/\@variable</tt>.
- */
- QString m_currentInputVariable;
-
- /**
- * The names of the test groups.
- */
- QStack<QString> m_testGroupName;
-
- /**
- * Holds the content of the current <tt>input-URI</tt> element.
- */
- QString m_inputURI;
- QString m_contextItemSource;
- QString m_currentCategory;
- bool m_removeTestcase;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp
deleted file mode 100644
index 24ee1588cd..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-QByteArray result;
-QBuffer returnBuffer(&result);
-XMLWriter writer(&returnBuffer);
-
-writer.startDocument();
-
-writer.startDTD(QLatin1String("html"), QLatin1String("-//W3C//DTD XHTML 1.0 Strict//EN"),
- QLatin1String("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"));
-writer.endDTD();
-
-writer.startPrefixMapping(QString(), QLatin1String("http://www.w3.org/1999/xhtml"));
-
-writer.startElement(QLatin1String("html"), QXmlAttributes());
-writer.startElement(QLatin1String("body"), QXmlAttributes());
-writer.startElement(QLatin1String("p"), QXmlAttributes());
-
-writer.characters(QLatin1String("Hello World!"));
-
-writer.endElement(QLatin1String("p"));
-writer.endElement(QLatin1String("body"));
-writer.endElement(QLatin1String("html"));
-
-writer.endDocument();
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml
deleted file mode 100644
index c5e7312bc2..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><body><p>Hello World!</p></body></html>
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp
deleted file mode 100644
index 24ee1588cd..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-QByteArray result;
-QBuffer returnBuffer(&result);
-XMLWriter writer(&returnBuffer);
-
-writer.startDocument();
-
-writer.startDTD(QLatin1String("html"), QLatin1String("-//W3C//DTD XHTML 1.0 Strict//EN"),
- QLatin1String("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"));
-writer.endDTD();
-
-writer.startPrefixMapping(QString(), QLatin1String("http://www.w3.org/1999/xhtml"));
-
-writer.startElement(QLatin1String("html"), QXmlAttributes());
-writer.startElement(QLatin1String("body"), QXmlAttributes());
-writer.startElement(QLatin1String("p"), QXmlAttributes());
-
-writer.characters(QLatin1String("Hello World!"));
-
-writer.endElement(QLatin1String("p"));
-writer.endElement(QLatin1String("body"));
-writer.endElement(QLatin1String("html"));
-
-writer.endDocument();
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml
deleted file mode 100644
index c5e7312bc2..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><body><p>Hello World!</p></body></html>
diff --git a/tests/auto/xmlpatternsxqts/lib/lib.pro b/tests/auto/xmlpatternsxqts/lib/lib.pro
deleted file mode 100644
index f5b0a06db4..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/lib.pro
+++ /dev/null
@@ -1,88 +0,0 @@
-include (../../xmlpatterns.pri)
-
-TARGET = $$XMLPATTERNS_SDK
-TEMPLATE = lib
-DEFINES += Q_PATTERNISTSDK_BUILDING
-
-# lib_bundle ensures we get a framework on OS X, a library bundle.
-CONFIG += resources
-
-mac {
- CONFIG += absolute_library_soname
- target.path=$$[QT_INSTALL_LIBS]
- INSTALLS += target
-}
-
-symbian {
- TARGET.EPOCALLOWDLLDATA=1
- TARGET.CAPABILITY = All -Tcb
- MMP_RULES += EXPORTUNFROZEN
-}
-
-# We add gui, because xmlpatterns.pri pull it out.
-QT += xmlpatterns xml network testlib gui
-
-DESTDIR = $$QT_BUILD_TREE/lib
-!wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
-
-# syncqt doesn't copy headers in tools/ so let's manually ensure
-# it works with shadow builds and source builds.
-INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
- $$QT_SOURCE_TREE/include/QtXmlPatterns/private \
- $$QT_SOURCE_TREE/tools/xmlpatterns
-
-HEADERS = ASTItem.h \
- DebugExpressionFactory.h \
- ErrorHandler.h \
- ErrorItem.h \
- ExitCode.h \
- ExpressionInfo.h \
- ExpressionNamer.h \
- ExternalSourceLoader.h \
- Global.h \
- ResultThreader.h \
- TestBaseLine.h \
- TestCase.h \
- TestContainer.h \
- TestGroup.h \
- TestItem.h \
- TestResult.h \
- TestResultHandler.h \
- TestSuite.h \
- TestSuiteHandler.h \
- TestSuiteResult.h \
- TreeItem.h \
- TreeModel.h \
- Worker.h \
- XMLWriter.h \
- XQTSTestCase.h \
- XSDTestSuiteHandler.h \
- XSDTSTestCase.h \
- XSLTTestSuiteHandler.h
-
-SOURCES = ASTItem.cpp \
- DebugExpressionFactory.cpp \
- ErrorHandler.cpp \
- ErrorItem.cpp \
- ExpressionInfo.cpp \
- ExpressionNamer.cpp \
- ExternalSourceLoader.cpp \
- Global.cpp \
- ResultThreader.cpp \
- TestBaseLine.cpp \
- TestCase.cpp \
- TestContainer.cpp \
- TestGroup.cpp \
- TestResult.cpp \
- TestResultHandler.cpp \
- TestSuite.cpp \
- TestSuiteHandler.cpp \
- TestSuiteResult.cpp \
- TreeItem.cpp \
- TreeModel.cpp \
- Worker.cpp \
- XMLWriter.cpp \
- XQTSTestCase.cpp \
- XSDTestSuiteHandler.cpp \
- XSDTSTestCase.cpp \
- XSLTTestSuiteHandler.cpp
diff --git a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp
deleted file mode 100644
index a10c01ad9d..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-
-#include "XMLWriter.h"
-
-#include "XMLWriterTest.h"
-#include "XMLWriterTest.moc"
-
-using namespace QPatternistSDK;
-
-QTEST_MAIN(XMLWriterTest)
-
-void XMLWriterTest::serialize()
-{
- QFETCH(QString, input);
- QFETCH(QString, expectedResult);
-
- QByteArray result;
- QBuffer returnBuffer(&result);
-
- XMLWriter writer(&returnBuffer);
-
- QXmlInputSource inputSource;
- inputSource.setData(input);
-
- QXmlSimpleReader reader;
- reader.setContentHandler(&writer);
-
- const bool parseSuccess = reader.parse(inputSource);
- Q_ASSERT_X(parseSuccess, Q_FUNC_INFO,
- "XMLWriter reported an error while serializing the input.");
-
- QCOMPARE(QString::fromLatin1(result), expectedResult);
-}
-
-void XMLWriterTest::serialize_data()
-{
- QTest::addColumn<QString>("input");
- QTest::addColumn<QString>("expectedResult");
-
- /* ------------------- Elements ------------------- */
- QTest::newRow("Only an document element")
- << "<doc></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc/>";
-
- QTest::newRow("Document element containing a short closed element")
- << "<doc><f/></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><f/></doc>";
- QTest::newRow("Complex nested elements")
- << "<doc><a/><b/><c><d/><e><f><x/></f></e></c></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><a/><b/><c><d/><e><f><x/></f></e></c></doc>";
- /* ------------------------------------------------- */
-
- /* ---------------- Element Content ---------------- */
- QTest::newRow("Element content with simple content")
- << "<doc>content</doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc>content</doc>";
-
- QTest::newRow("Element content with tricky to escape content")
- << "<doc>>>&amp;'\"''/></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc>>>&amp;'\"''/></doc>";
- /* ------------------------------------------------- */
-
- /* ----------- Processing Instructions ------------- */
- QTest::newRow("Simple processing instruction.")
- << "<doc><?php content?></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><?php content?></doc>";
- /* ------------------------------------------------- */
-
- /* --------------- 'xml' attributes ---------------- */
- QTest::newRow("Simple xml:space attribute.")
- << "<doc xml:space='preserve'>content</doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc xml:space=\"preserve\">content</doc>";
-
- QTest::newRow("Many 'xml' attributes.")
- << "<doc xml:space='preserve' xml:foo='3' xml:s2='3'>content</doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<doc xml:space=\"preserve\" xml:foo=\"3\" xml:s2=\"3\">content</doc>";
- /* ------------------------------------------------- */
-
- /* ------------ namespace declarations ------------- */
- QTest::newRow("One simple namespace declaration.")
- << "<doc xmlns:f='example.org/'/>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<doc xmlns:f=\"example.org/\"/>";
-
- QTest::newRow("Two simple namespace declarations.")
- << "<doc xmlns:f='example.org/' xmlns:e='example.org/'/>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<doc xmlns:f=\"example.org/\" xmlns:e=\"example.org/\"/>";
-
- QTest::newRow("A simple default namespace.")
- << "<doc xmlns='example.org/'/>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<doc xmlns=\"example.org/\"/>";
- /* ------------------------------------------------- */
-
- /* -------- namespace declarations in use ---------- */
- QTest::newRow("Simple use of a namespace declaration.")
- << "<doc xmlns:f='example.org/' f:attr='chars'><n/><f:name f:attr='chars'/></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<doc xmlns:f=\"example.org/\" f:attr=\"chars\"><n/><f:name f:attr=\"chars\"/></doc>";
- /* ------------------------------------------------- */
-}
-
-void XMLWriterTest::cdata()
-{
- /*
- QTest::newRow("Simple CDATA")
- << "<doc><![CDATA[content]]></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><![CDATA[content]]></doc>";
-
- QTest::newRow("Complex CDATA")
- << "<doc><![CDATA[<<>>&'\";&987;]]></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><![CDATA[<<>>&'\";&123;]]></doc>";
- */
-}
-
-void XMLWriterTest::comments()
-{
- /*
- QTest::newRow("Simple comment")
- << "<doc><!-- comment --></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><!-- comment --></doc>";
- QTest::newRow("Comment")
- << "<doc><!--- comment --></doc>"
- << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><!--- comment --></doc>";
- */
-}
-
-void XMLWriterTest::doxygenExample()
-{
-#include "../docs/XMLWriterExample.cpp"
-
- /* When changing, remember to update the Doxygen in XMLWriter.h */
- const QByteArray expectedResult(
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" "
- "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
- "<html xmlns=\"http://www.w3.org/1999/xhtml\"><body><p>Hello World!</p></body></html>"
- );
-
- QCOMPARE(QString::fromLatin1(result), QString::fromLatin1(expectedResult));
-}
-
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h
deleted file mode 100644
index f90aea2944..0000000000
--- a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XMLWriterTest_H
-#define PatternistSDK_XMLWriterTest_H
-
-#include <QObject>
-
-QT_BEGIN_HEADER
-
-namespace QPatternistSDK
-{
- /**
- * @short QTestLib test for XMLWriter.
- *
- * @ingroup PatternistSDK
- * @author Frans Englich <frans.englich@nokia.com>
- */
- class XMLWriterTest : public QObject
- {
- Q_OBJECT
- private Q_SLOTS:
- void serialize();
- void serialize_data();
- void comments();
- void cdata();
-
- /**
- * Ensure the example compiles, and that it does
- * what it claims to.
- */
- void doxygenExample();
- };
-}
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/test/test.pro b/tests/auto/xmlpatternsxqts/test/test.pro
deleted file mode 100644
index a69838af5e..0000000000
--- a/tests/auto/xmlpatternsxqts/test/test.pro
+++ /dev/null
@@ -1,26 +0,0 @@
-load(qttest_p4)
-SOURCES += tst_xmlpatternsxqts.cpp ../../qxmlquery/TestFundament.cpp tst_suitetest.cpp
-
-include(../../xmlpatterns.pri)
-
-contains(QT_CONFIG,xmlpatterns) {
- HEADERS += tst_suitetest.h
- LIBS += -l$$XMLPATTERNS_SDK
-}
-
-# syncqt doesn't copy headers in tools/ so let's manually ensure
-# it works with shadow builds and source builds.
-INCLUDEPATH += $$(QTDIR)/include/QtXmlPatterns/private \
- $$(QTSRCDIR)/include/QtXmlPatterns/private \
- $$(QTSRCDIR)/tools/xmlpatterns \
- $$(QTDIR)/tools/xmlpatterns \
- ../lib/
-
-CONFIG += testlib
-QT += xml
-DESTDIR = ..
-win32 {
- CONFIG(debug, debug|release): DESTDIR = ../debug
- else: DESTDIR = ../release
-}
-TARGET = tst_xmlpatternsxqts
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
index 64120c7c69..64120c7c69 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
+++ b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.h b/tests/auto/xmlpatternsxqts/tst_suitetest.h
index 22e384a47e..70e56afcc2 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
+++ b/tests/auto/xmlpatternsxqts/tst_suitetest.h
@@ -44,7 +44,7 @@
#define Q_tst_SuiteTest
#include <QtCore/QObject>
-#include "../../qxmlquery/TestFundament.h"
+#include "../qxmlquery/TestFundament.h"
/*!
\class tst_SuiteTest
diff --git a/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp b/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp
index 890234e7cc..890234e7cc 100644
--- a/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
+++ b/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp
diff --git a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
index 3f49cccc41..e81888a276 100644
--- a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
+++ b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
@@ -1,13 +1,21 @@
-TEMPLATE = subdirs
+load(qttest_p4)
+SOURCES += tst_xmlpatternsxqts.cpp ../qxmlquery/TestFundament.cpp tst_suitetest.cpp
+
+include(../xmlpatterns.pri)
+
contains(QT_CONFIG,xmlpatterns) {
- SUBDIRS += lib
- test.depends = lib
+ HEADERS += tst_suitetest.h
+ LIBS += -l$$XMLPATTERNS_SDK
}
-SUBDIRS += test
-
-# Needed on the win32-g++ setup and on the test machine arsia.
-INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
- ../../../include/QtXmlPatterns/private
-requires(contains(QT_CONFIG,private_tests))
+# syncqt doesn't copy headers in tools/ so let's manually ensure
+# it works with shadow builds and source builds.
+INCLUDEPATH += $$(QTDIR)/include/QtXmlPatterns/private \
+ $$(QTSRCDIR)/include/QtXmlPatterns/private \
+ $$(QTSRCDIR)/tools/xmlpatterns \
+ $$(QTDIR)/tools/xmlpatterns \
+ ../xmlpatternssdk/
+CONFIG += testlib
+QT += xml
+TARGET = tst_xmlpatternsxqts