diff options
author | Rohan McGovern <rohan.mcgovern@nokia.com> | 2010-02-16 05:34:50 (GMT) |
---|---|---|
committer | Rohan McGovern <rohan.mcgovern@nokia.com> | 2010-02-17 06:12:08 (GMT) |
commit | 2d67f6efc47986e8f6d69943f0986d18ae2ced96 (patch) | |
tree | 42b8e16e73c021ffabba0b82b12f0f533ce8aa11 /tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp | |
parent | 0cdf33e9acb00b8f3654e8268253a3fb7c5db92c (diff) | |
download | Qt-2d67f6efc47986e8f6d69943f0986d18ae2ced96.zip Qt-2d67f6efc47986e8f6d69943f0986d18ae2ced96.tar.gz Qt-2d67f6efc47986e8f6d69943f0986d18ae2ced96.tar.bz2 |
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/lib/XSDTSTestCase.cpp')
-rw-r--r-- | tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp | 375 |
1 files changed, 0 insertions, 375 deletions
diff --git a/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp b/tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp deleted file mode 100644 index 3cbb681..0000000 --- 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 - |