| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the autotests of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 3 as published by the Free Software |
| ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT |
| ** included in the packaging of this file. Please review the following |
| ** information to ensure the GNU General Public License requirements will |
| ** be met: https://www.gnu.org/licenses/gpl-3.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #include <QtDebug> |
| |
| #include <private/qacceltreeresourceloader_p.h> |
| #include <private/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 QStringRef &namespaceURI, const QStringRef &localName, |
| const QStringRef & /*qName*/, const QXmlStreamAttributes &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").toString()); |
| 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").toString()); |
| m_currentTestSet->appendChild(m_currentTestGroup); |
| m_inTestGroup = true; |
| } else if (localName == QLatin1String("schemaTest")) { |
| if (m_blackList.contains(atts.value("name").toString())) { |
| 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").toString())); |
| if (m_currentSchemaLink.isEmpty()) // we only use the first schema document for validation |
| m_currentSchemaLink = atts.value("xlink:href").toString(); |
| } |
| if (m_inInstanceTest) { |
| m_currentTestCase->setInstanceUri(QUrl(atts.value("xlink:href").toString())); |
| 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 QStringRef &/*namespaceURI*/, |
| const QStringRef &localName, |
| const QStringRef &/*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 QStringRef &ch) |
| { |
| if (m_inDescription) |
| m_documentation += ch; |
| |
| return true; |
| } |
| |
| TestSuite *XSDTestSuiteHandler::testSuite() const |
| { |
| return m_ts; |
| } |
| |
| // vim: et:ts=4:sw=4:sts=4 |
| |