tests/auto/qxmlquery/tst_qxmlquery.cpp
changeset 30 5dc02b23752f
parent 22 79de32ba3296
child 33 3e2da88830cd
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
   855                                           QVariant(4));
   855                                           QVariant(4));
   856 
   856 
   857     stylesheet.bindVariable(QLatin1String("paramSelectWithTypeIntBoundWithBindVariableRequired"),
   857     stylesheet.bindVariable(QLatin1String("paramSelectWithTypeIntBoundWithBindVariableRequired"),
   858                                           QVariant(QLatin1String("param5")));
   858                                           QVariant(QLatin1String("param5")));
   859 
   859 
   860     stylesheet.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/parameters.xsl"))));
   860     stylesheet.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/parameters.xsl"))));
   861 
   861 
   862     QVERIFY(stylesheet.isValid());
   862     QVERIFY(stylesheet.isValid());
   863 
   863 
   864     QBuffer deviceOut;
   864     QBuffer deviceOut;
   865     QVERIFY(deviceOut.open(QIODevice::ReadWrite));
   865     QVERIFY(deviceOut.open(QIODevice::ReadWrite));
  1796 
  1796 
  1797     /* Ensure the same URI resolver is used. */
  1797     /* Ensure the same URI resolver is used. */
  1798     {
  1798     {
  1799         QXmlQuery query(QXmlQuery::XSLT20);
  1799         QXmlQuery query(QXmlQuery::XSLT20);
  1800 
  1800 
  1801         const TestURIResolver resolver(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  1801         const TestURIResolver resolver(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  1802         query.setUriResolver(&resolver);
  1802         query.setUriResolver(&resolver);
  1803 
  1803 
  1804         QVERIFY(query.setFocus(QUrl(QLatin1String("arbitraryURI"))));
  1804         QVERIFY(query.setFocus(QUrl(QLatin1String("arbitraryURI"))));
  1805         query.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/copyWholeDocument.xsl"))));
  1805         query.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/copyWholeDocument.xsl"))));
  1806         QVERIFY(query.isValid());
  1806         QVERIFY(query.isValid());
  1807 
  1807 
  1808         QBuffer result;
  1808         QBuffer result;
  1809         QVERIFY(result.open(QIODevice::ReadWrite));
  1809         QVERIFY(result.open(QIODevice::ReadWrite));
  1810         QXmlSerializer serializer(query, &result);
  1810         QXmlSerializer serializer(query, &result);
  2995 
  2995 
  2996     query.setInitialTemplateName(name);
  2996     query.setInitialTemplateName(name);
  2997 
  2997 
  2998     QCOMPARE(query.initialTemplateName(), name);
  2998     QCOMPARE(query.initialTemplateName(), name);
  2999 
  2999 
  3000     query.setQuery(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/namedTemplate.xsl"))));
  3000     query.setQuery(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/namedTemplate.xsl"))));
  3001     QVERIFY(query.isValid());
  3001     QVERIFY(query.isValid());
  3002 
  3002 
  3003     QBuffer result;
  3003     QBuffer result;
  3004     QVERIFY(result.open(QIODevice::ReadWrite));
  3004     QVERIFY(result.open(QIODevice::ReadWrite));
  3005     QXmlSerializer serializer(query, &result);
  3005     QXmlSerializer serializer(query, &result);
  3057 {
  3057 {
  3058 
  3058 
  3059     /* Ensure fn:doc() picks up the right QNetworkAccessManager. */
  3059     /* Ensure fn:doc() picks up the right QNetworkAccessManager. */
  3060     {
  3060     {
  3061         NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
  3061         NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
  3062                                           QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml"))));
  3062                                           QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml"))));
  3063 
  3063 
  3064         QXmlQuery query;
  3064         QXmlQuery query;
  3065         query.setNetworkAccessManager(&networkOverrider);
  3065         query.setNetworkAccessManager(&networkOverrider);
  3066         query.setQuery(QLatin1String("string(doc('tag:example.com:DOESNOTEXIST'))"));
  3066         query.setQuery(QLatin1String("string(doc('tag:example.com:DOESNOTEXIST'))"));
  3067         QVERIFY(query.isValid());
  3067         QVERIFY(query.isValid());
  3073     }
  3073     }
  3074 
  3074 
  3075     /* Ensure setQuery() is using the right network manager. */
  3075     /* Ensure setQuery() is using the right network manager. */
  3076     {
  3076     {
  3077         NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
  3077         NetworkOverrider networkOverrider(QUrl(QLatin1String("tag:example.com:DOESNOTEXIST")),
  3078                                           QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/concat.xq"))));
  3078                                           QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/queries/concat.xq"))));
  3079 
  3079 
  3080         QXmlQuery query;
  3080         QXmlQuery query;
  3081         query.setNetworkAccessManager(&networkOverrider);
  3081         query.setNetworkAccessManager(&networkOverrider);
  3082         query.setQuery(QUrl("tag:example.com:DOESNOTEXIST"));
  3082         query.setQuery(QUrl("tag:example.com:DOESNOTEXIST"));
  3083         QVERIFY(query.isValid());
  3083         QVERIFY(query.isValid());
  3133     /* We use string concatenation, since variable bindings might disturb what
  3133     /* We use string concatenation, since variable bindings might disturb what
  3134      * we're testing. */
  3134      * we're testing. */
  3135     query.setQuery(QLatin1String("string(doc('") +
  3135     query.setQuery(QLatin1String("string(doc('") +
  3136                    inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml")) +
  3136                    inputFile(QLatin1String(SRCDIR "../xmlpatterns/queries/simpleDocument.xml")) +
  3137                    QLatin1String("'))"));
  3137                    QLatin1String("'))"));
  3138     query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3138     query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3139     query.setQuery(QLatin1String("string(.)"));
  3139     query.setQuery(QLatin1String("string(.)"));
  3140 
  3140 
  3141     QStringList result;
  3141     QStringList result;
  3142     QVERIFY(query.evaluateTo(&result));
  3142     QVERIFY(query.evaluateTo(&result));
  3143 }
  3143 }
  3157 void tst_QXmlQuery::multipleEvaluationsWithDifferentFocus() const
  3157 void tst_QXmlQuery::multipleEvaluationsWithDifferentFocus() const
  3158 {
  3158 {
  3159     QXmlQuery query;
  3159     QXmlQuery query;
  3160     QStringList result;
  3160     QStringList result;
  3161 
  3161 
  3162     query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3162     query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3163     query.setQuery(QLatin1String("string(.)"));
  3163     query.setQuery(QLatin1String("string(.)"));
  3164     QVERIFY(query.evaluateTo(&result));
  3164     QVERIFY(query.evaluateTo(&result));
  3165 
  3165 
  3166     query.setFocus(QUrl(inputFile(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3166     query.setFocus(QUrl(inputFileAsURI(QLatin1String(SRCDIR "../xmlpatterns/stylesheets/documentElement.xml"))));
  3167     QVERIFY(query.evaluateTo(&result));
  3167     QVERIFY(query.evaluateTo(&result));
  3168 }
  3168 }
  3169 
  3169 
  3170 void tst_QXmlQuery::bindVariableQXmlQuery() const
  3170 void tst_QXmlQuery::bindVariableQXmlQuery() const
  3171 {
  3171 {