Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: .qmake.conf src/network/ssl/qsslsocket_openssl.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: Ibb57a0548b4977797b400637487a56245ac1c024
This commit is contained in:
commit
25eb97d2d4
1
doc/config/exampleurl-qt3d.qdocconf
Normal file
1
doc/config/exampleurl-qt3d.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qt3d.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtactiveqt.qdocconf
Normal file
1
doc/config/exampleurl-qtactiveqt.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtactiveqt.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtandroidextras.qdocconf
Normal file
1
doc/config/exampleurl-qtandroidextras.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtandroidextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtbase.qdocconf
Normal file
1
doc/config/exampleurl-qtbase.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtbase.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtcharts.qdocconf
Normal file
1
doc/config/exampleurl-qtcharts.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtcharts.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtconnectivity.qdocconf
Normal file
1
doc/config/exampleurl-qtconnectivity.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtconnectivity.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdatavis3d.qdocconf
Normal file
1
doc/config/exampleurl-qtdatavis3d.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtdatavis3d.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdeclarative.qdocconf
Normal file
1
doc/config/exampleurl-qtdeclarative.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtdeclarative.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtdoc.qdocconf
Normal file
1
doc/config/exampleurl-qtdoc.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtdoc.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtgamepad.qdocconf
Normal file
1
doc/config/exampleurl-qtgamepad.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtgamepad.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtgraphicaleffects.qdocconf
Normal file
1
doc/config/exampleurl-qtgraphicaleffects.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtgraphicaleffects.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtimageformats.qdocconf
Normal file
1
doc/config/exampleurl-qtimageformats.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtimageformats.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtlocation.qdocconf
Normal file
1
doc/config/exampleurl-qtlocation.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtlocation.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtlottie.qdocconf
Normal file
1
doc/config/exampleurl-qtlottie.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtlottie.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtmacextras.qdocconf
Normal file
1
doc/config/exampleurl-qtmacextras.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtmacextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtmultimedia.qdocconf
Normal file
1
doc/config/exampleurl-qtmultimedia.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtnetworkauth.qdocconf
Normal file
1
doc/config/exampleurl-qtnetworkauth.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtnetworkauth.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtpurchasing.qdocconf
Normal file
1
doc/config/exampleurl-qtpurchasing.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtpurchasing.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtquickcontrols.qdocconf
Normal file
1
doc/config/exampleurl-qtquickcontrols.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtquickcontrols.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtquickcontrols2.qdocconf
Normal file
1
doc/config/exampleurl-qtquickcontrols2.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtremoteobjects.qdocconf
Normal file
1
doc/config/exampleurl-qtremoteobjects.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtremoteobjects.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtscript.qdocconf
Normal file
1
doc/config/exampleurl-qtscript.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtscript.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtscxml.qdocconf
Normal file
1
doc/config/exampleurl-qtscxml.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtscxml.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtsensors.qdocconf
Normal file
1
doc/config/exampleurl-qtsensors.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtsensors.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtserialbus.qdocconf
Normal file
1
doc/config/exampleurl-qtserialbus.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtserialbus.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtserialport.qdocconf
Normal file
1
doc/config/exampleurl-qtserialport.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtserialport.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtspeech.qdocconf
Normal file
1
doc/config/exampleurl-qtspeech.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtspeech.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtsvg.qdocconf
Normal file
1
doc/config/exampleurl-qtsvg.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtsvg.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qttools.qdocconf
Normal file
1
doc/config/exampleurl-qttools.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qttools.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtvirtualkeyboard.qdocconf
Normal file
1
doc/config/exampleurl-qtvirtualkeyboard.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtvirtualkeyboard.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwayland.qdocconf
Normal file
1
doc/config/exampleurl-qtwayland.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwayland.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebchannel.qdocconf
Normal file
1
doc/config/exampleurl-qtwebchannel.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwebchannel.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebengine.qdocconf
Normal file
1
doc/config/exampleurl-qtwebengine.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwebengine.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebsockets.qdocconf
Normal file
1
doc/config/exampleurl-qtwebsockets.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwebsockets.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwebview.qdocconf
Normal file
1
doc/config/exampleurl-qtwebview.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwebview.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtwinextras.qdocconf
Normal file
1
doc/config/exampleurl-qtwinextras.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtwinextras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtx11extras.qdocconf
Normal file
1
doc/config/exampleurl-qtx11extras.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtx11extras.git/tree/examples/\1?h=$QT_VER"
|
1
doc/config/exampleurl-qtxmlpatterns.qdocconf
Normal file
1
doc/config/exampleurl-qtxmlpatterns.qdocconf
Normal file
@ -0,0 +1 @@
|
||||
url.examples = "https://code.qt.io/cgit/qt/qtxmlpatterns.git/tree/examples/\1?h=$QT_VER"
|
@ -79,6 +79,32 @@ QVariant addAuthor(QSqlQuery &q, const QString &name, const QDate &birthdate)
|
||||
return q.lastInsertId();
|
||||
}
|
||||
|
||||
const auto BOOKS_SQL = QLatin1String(R"(
|
||||
create table books(id integer primary key, title varchar, author integer,
|
||||
genre integer, year integer, rating integer)
|
||||
)");
|
||||
|
||||
const auto AUTHORS_SQL = QLatin1String(R"(
|
||||
create table authors(id integer primary key, name varchar, birthdate date)
|
||||
)");
|
||||
|
||||
const auto GENRES_SQL = QLatin1String(R"(
|
||||
create table genres(id integer primary key, name varchar)
|
||||
)");
|
||||
|
||||
const auto INSERT_AUTHOR_SQL = QLatin1String(R"(
|
||||
insert into authors(name, birthdate) values(?, ?)
|
||||
)");
|
||||
|
||||
const auto INSERT_BOOK_SQL = QLatin1String(R"(
|
||||
insert into books(title, year, author, genre, rating)
|
||||
values(?, ?, ?, ?, ?)
|
||||
)");
|
||||
|
||||
const auto INSERT_GENRE_SQL = QLatin1String(R"(
|
||||
insert into genres(name) values(?)
|
||||
)");
|
||||
|
||||
QSqlError initDb()
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
|
||||
@ -93,26 +119,26 @@ QSqlError initDb()
|
||||
return QSqlError();
|
||||
|
||||
QSqlQuery q;
|
||||
if (!q.exec(QLatin1String("create table books(id integer primary key, title varchar, author integer, genre integer, year integer, rating integer)")))
|
||||
if (!q.exec(BOOKS_SQL))
|
||||
return q.lastError();
|
||||
if (!q.exec(QLatin1String("create table authors(id integer primary key, name varchar, birthdate date)")))
|
||||
if (!q.exec(AUTHORS_SQL))
|
||||
return q.lastError();
|
||||
if (!q.exec(QLatin1String("create table genres(id integer primary key, name varchar)")))
|
||||
if (!q.exec(GENRES_SQL))
|
||||
return q.lastError();
|
||||
|
||||
if (!q.prepare(QLatin1String("insert into authors(name, birthdate) values(?, ?)")))
|
||||
if (!q.prepare(INSERT_AUTHOR_SQL))
|
||||
return q.lastError();
|
||||
QVariant asimovId = addAuthor(q, QLatin1String("Isaac Asimov"), QDate(1920, 2, 1));
|
||||
QVariant greeneId = addAuthor(q, QLatin1String("Graham Greene"), QDate(1904, 10, 2));
|
||||
QVariant pratchettId = addAuthor(q, QLatin1String("Terry Pratchett"), QDate(1948, 4, 28));
|
||||
|
||||
if (!q.prepare(QLatin1String("insert into genres(name) values(?)")))
|
||||
if (!q.prepare(INSERT_GENRE_SQL))
|
||||
return q.lastError();
|
||||
QVariant sfiction = addGenre(q, QLatin1String("Science Fiction"));
|
||||
QVariant fiction = addGenre(q, QLatin1String("Fiction"));
|
||||
QVariant fantasy = addGenre(q, QLatin1String("Fantasy"));
|
||||
|
||||
if (!q.prepare(QLatin1String("insert into books(title, year, author, genre, rating) values(?, ?, ?, ?, ?)")))
|
||||
if (!q.prepare(INSERT_BOOK_SQL))
|
||||
return q.lastError();
|
||||
addBook(q, QLatin1String("Foundation"), 1951, asimovId, sfiction, 3);
|
||||
addBook(q, QLatin1String("Foundation and Empire"), 1952, asimovId, sfiction, 4);
|
||||
|
@ -59,7 +59,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\")
|
||||
string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings})
|
||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends})
|
||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries ${CMAKE_CXX_STANDARD_LIBRARIES})
|
||||
string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
|
||||
set(_search_paths)
|
||||
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
|
||||
foreach(_flag ${_static_depends})
|
||||
|
@ -1,4 +1,6 @@
|
||||
CONFIG(release, debug|release) {
|
||||
static:no-static-ltcg {
|
||||
# Static library but no-static-ltcg enabled: skip LTCG
|
||||
} else: CONFIG(release, debug|release) {
|
||||
# We need fat object files when creating static libraries on some platforms
|
||||
# so the linker will know to load a particular object from the library
|
||||
# in the first place. On others, we have special ar and nm to create the symbol
|
||||
@ -22,7 +24,7 @@ CONFIG(release, debug|release) {
|
||||
}
|
||||
}
|
||||
|
||||
fat-lto {
|
||||
fat-lto|if(static:fat-static-lto) {
|
||||
QMAKE_CFLAGS_LTCG += $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
||||
QMAKE_CXXFLAGS_LTCG += $$QMAKE_CXXFLAGS_LTCG_FATOBJECTS
|
||||
}
|
||||
|
@ -250,7 +250,7 @@ void MingwMakefileGenerator::init()
|
||||
}
|
||||
|
||||
if(project->isActiveConfig("dll")) {
|
||||
project->values("QMAKE_CLEAN").append(project->first("MINGW_IMPORT_LIB"));
|
||||
project->values("QMAKE_DISTCLEAN").append(project->first("MINGW_IMPORT_LIB"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -517,4 +517,9 @@ ProKey ProFile::getHashStr(const ushort *&tPtr)
|
||||
return ret;
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug debug, const ProString &str)
|
||||
{
|
||||
return debug << str.toQString();
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -31,6 +31,7 @@
|
||||
|
||||
#include "qmake_global.h"
|
||||
|
||||
#include <qdebug.h>
|
||||
#include <qstring.h>
|
||||
#include <qvector.h>
|
||||
#include <qhash.h>
|
||||
@ -468,6 +469,8 @@ struct ProFunctionDefs {
|
||||
QHash<ProKey, ProFunctionDef> replaceFunctions;
|
||||
};
|
||||
|
||||
QDebug operator<<(QDebug debug, const ProString &str);
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // PROITEMS_H
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtConcurrent
|
||||
description = Qt Concurrent Reference Documentation
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtCore
|
||||
description = Qt Core Reference Documentation
|
||||
|
@ -220,7 +220,7 @@ static bool shouldIncludeFs(const QStorageIterator &it)
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
|
||||
if (it.fileSystemType() == "rootfs")
|
||||
return false;
|
||||
#endif
|
||||
@ -849,7 +849,7 @@ QList<QStorageInfo> QStorageInfoPrivate::mountedVolumes()
|
||||
info.d->device = it.device();
|
||||
info.d->fileSystemType = it.fileSystemType();
|
||||
info.d->subvolume = it.subvolume();
|
||||
if (info.bytesTotal() == 0)
|
||||
if (info.bytesTotal() == 0 && info != root())
|
||||
continue;
|
||||
volumes.append(info);
|
||||
}
|
||||
|
@ -621,11 +621,11 @@ int QDateTimeParser::sectionMaxSize(Section s, int count) const
|
||||
case LastSection: return 0;
|
||||
|
||||
case AmPmSection: {
|
||||
const int lowerMax = qMin(getAmPmText(AmText, LowerCase).size(),
|
||||
const int lowerMax = qMax(getAmPmText(AmText, LowerCase).size(),
|
||||
getAmPmText(PmText, LowerCase).size());
|
||||
const int upperMax = qMin(getAmPmText(AmText, UpperCase).size(),
|
||||
const int upperMax = qMax(getAmPmText(AmText, UpperCase).size(),
|
||||
getAmPmText(PmText, UpperCase).size());
|
||||
return qMin(4, qMin(lowerMax, upperMax));
|
||||
return qMax(lowerMax, upperMax);
|
||||
}
|
||||
|
||||
case Hour24Section:
|
||||
@ -1664,13 +1664,16 @@ QDateTimeParser::findTimeZone(QStringRef str, const QDateTime &when,
|
||||
/*!
|
||||
\internal
|
||||
|
||||
Returns
|
||||
AM if str == tr("AM")
|
||||
PM if str == tr("PM")
|
||||
PossibleAM if str can become tr("AM")
|
||||
PossiblePM if str can become tr("PM")
|
||||
PossibleBoth if str can become tr("PM") and can become tr("AM")
|
||||
Neither if str can't become anything sensible
|
||||
Compares str to the am/pm texts returned by getAmPmText().
|
||||
Returns AM or PM if str is one of those texts. Failing that, it looks to see
|
||||
whether, ignoring spaces and case, each character of str appears in one of
|
||||
the am/pm texts.
|
||||
If neither text can be the result of the user typing more into str, returns
|
||||
Neither. If both texts are possible results of further typing, returns
|
||||
PossibleBoth. Otherwise, only one of them is a possible completion, so this
|
||||
returns PossibleAM or PossiblePM to indicate which.
|
||||
|
||||
\sa getAmPmText()
|
||||
*/
|
||||
QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionIndex, int *used) const
|
||||
{
|
||||
@ -1699,10 +1702,10 @@ QDateTimeParser::AmPmFinder QDateTimeParser::findAmPm(QString &str, int sectionI
|
||||
|
||||
QDTPDEBUG << "findAmPm" << str << ampm[0] << ampm[1];
|
||||
|
||||
if (str.indexOf(ampm[amindex], 0, Qt::CaseInsensitive) == 0) {
|
||||
if (str.startsWith(ampm[amindex], Qt::CaseInsensitive)) {
|
||||
str = ampm[amindex];
|
||||
return AM;
|
||||
} else if (str.indexOf(ampm[pmindex], 0, Qt::CaseInsensitive) == 0) {
|
||||
} else if (str.startsWith(ampm[pmindex], Qt::CaseInsensitive)) {
|
||||
str = ampm[pmindex];
|
||||
return PM;
|
||||
} else if (context == FromString || (str.count(space) == 0 && str.size() >= size)) {
|
||||
|
@ -327,7 +327,7 @@ static const uchar breakTable[BAfter + 1][QUnicodeTables::NumSentenceBreakClasse
|
||||
// Any CR LF Sep Extend Sp Lower Upper OLetter Numeric ATerm SContinue STerm Close
|
||||
{ Initial, BAfterC, BAfter , BAfter , Initial, Initial, Lower , Upper , Initial, Initial, ATerm , Initial, STerm , Initial }, // Initial
|
||||
{ Initial, BAfterC, BAfter , BAfter , Lower , Initial, Initial, Initial, Initial, Initial, LUATerm, Initial, STerm , Initial }, // Lower
|
||||
{ Initial, BAfterC, BAfter , BAfter , Upper , Initial, Initial, Upper , Initial, Initial, LUATerm, STerm , STerm , Initial }, // Upper
|
||||
{ Initial, BAfterC, BAfter , BAfter , Upper , Initial, Initial, Upper , Initial, Initial, LUATerm, Initial, STerm , Initial }, // Upper
|
||||
|
||||
{ Lookup , BAfterC, BAfter , BAfter , LUATerm, ACS , Initial, Upper , Break , Initial, ATerm , STerm , STerm , ATermC }, // LUATerm
|
||||
{ Lookup , BAfterC, BAfter , BAfter , ATerm , ACS , Initial, Break , Break , Initial, ATerm , STerm , STerm , ATermC }, // ATerm
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
# Name of the project which must match the outputdir. Determines the .index file
|
||||
project = QtDBus
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtGui
|
||||
description = Qt GUI Reference Documentation
|
||||
|
@ -675,8 +675,9 @@ void QPainterPath::reserve(int size)
|
||||
{
|
||||
Q_D(QPainterPath);
|
||||
if ((!d && size > 0) || (d && d->elements.capacity() < size)) {
|
||||
ensureData();
|
||||
detach();
|
||||
d->elements.reserve(size);
|
||||
d_func()->elements.reserve(size);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2306,7 +2306,11 @@ QString QTextHtmlExporter::toHtml(const QByteArray &encoding, ExportMode mode)
|
||||
if (mode == ExportEntireDocument) {
|
||||
html += QLatin1String(" style=\"");
|
||||
|
||||
emitFontFamily(defaultCharFormat.fontFamily());
|
||||
QStringList fontFamilies = defaultCharFormat.fontFamilies().toStringList();
|
||||
if (!fontFamilies.isEmpty())
|
||||
emitFontFamily(fontFamilies);
|
||||
else
|
||||
emitFontFamily(defaultCharFormat.fontFamily());
|
||||
|
||||
if (defaultCharFormat.hasProperty(QTextFormat::FontPointSize)) {
|
||||
html += QLatin1String(" font-size:");
|
||||
@ -2368,8 +2372,12 @@ bool QTextHtmlExporter::emitCharFormatStyle(const QTextCharFormat &format)
|
||||
bool attributesEmitted = false;
|
||||
|
||||
{
|
||||
const QStringList families = format.fontFamilies().toStringList();
|
||||
const QString family = format.fontFamily();
|
||||
if (!family.isEmpty() && family != defaultCharFormat.fontFamily()) {
|
||||
if (!families.isEmpty() && families != defaultCharFormat.fontFamilies().toStringList()) {
|
||||
emitFontFamily(families);
|
||||
attributesEmitted = true;
|
||||
} else if (!family.isEmpty() && family != defaultCharFormat.fontFamily()) {
|
||||
emitFontFamily(family);
|
||||
attributesEmitted = true;
|
||||
}
|
||||
@ -2656,6 +2664,27 @@ void QTextHtmlExporter::emitFontFamily(const QString &family)
|
||||
html += QLatin1Char(';');
|
||||
}
|
||||
|
||||
void QTextHtmlExporter::emitFontFamily(const QStringList &families)
|
||||
{
|
||||
html += QLatin1String(" font-family:");
|
||||
|
||||
bool first = true;
|
||||
for (const QString &family : families) {
|
||||
QLatin1String quote("\'");
|
||||
if (family.contains(QLatin1Char('\'')))
|
||||
quote = QLatin1String(""");
|
||||
|
||||
if (!first)
|
||||
html += QLatin1String(",");
|
||||
else
|
||||
first = false;
|
||||
html += quote;
|
||||
html += family.toHtmlEscaped();
|
||||
html += quote;
|
||||
}
|
||||
html += QLatin1Char(';');
|
||||
}
|
||||
|
||||
void QTextHtmlExporter::emitMargins(const QString &top, const QString &bottom, const QString &left, const QString &right)
|
||||
{
|
||||
html += QLatin1String(" margin-top:");
|
||||
|
@ -397,6 +397,7 @@ private:
|
||||
void emitPageBreakPolicy(QTextFormat::PageBreakFlags policy);
|
||||
|
||||
void emitFontFamily(const QString &family);
|
||||
void emitFontFamily(const QStringList &families);
|
||||
|
||||
void emitBackgroundAttribute(const QTextFormat &format);
|
||||
QString findUrlForImage(const QTextDocument *doc, qint64 cacheKey, bool isPixmap);
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtNetwork
|
||||
description = Qt Network Reference Documentation
|
||||
|
@ -1573,6 +1573,7 @@ bool QSslSocketBackendPrivate::checkOcspStatus()
|
||||
// verify the responder's chain (see their commit 4ba9a4265bd).
|
||||
// Working this around - is too much fuss for ancient versions we
|
||||
// are dropping quite soon anyway.
|
||||
|
||||
const unsigned long verificationFlags = 0;
|
||||
const int success = q_OCSP_basic_verify(basicResponse, peerChain, store, verificationFlags);
|
||||
if (success <= 0)
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
# Name of the project which must match the outputdir. Determines the .index file
|
||||
project = QtOpenGL
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtPlatformHeaders
|
||||
description = Qt Platform Headers Reference Documentation
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtPrintSupport
|
||||
description = Qt Print Support Reference Documentation
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtSql
|
||||
description = Qt SQL Reference Documentation
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtTestLib
|
||||
moduleheader = QtTest
|
||||
|
@ -150,8 +150,10 @@ static QSet<QByteArray> keywords()
|
||||
<< "msvc-2013"
|
||||
# elif _MSC_VER <= 1900
|
||||
<< "msvc-2015"
|
||||
# else
|
||||
# elif _MSC_VER <= 1916
|
||||
<< "msvc-2017"
|
||||
# else
|
||||
<< "msvc-2019"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@ -59,7 +59,7 @@ enum {
|
||||
CONSTANT_COMPRESSTHRESHOLD_DEFAULT = 70
|
||||
};
|
||||
|
||||
#if QT_CONFIG(zstd)
|
||||
#if QT_CONFIG(zstd) && QT_VERSION >= QT_VERSION_CHECK(6,0,0)
|
||||
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zstd
|
||||
#elif !defined(QT_NO_COMPRESS)
|
||||
# define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zlib
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtWidgets
|
||||
description = Qt Widgets Reference Documentation
|
||||
|
@ -2306,13 +2306,31 @@ void QDateTimeEdit::paintEvent(QPaintEvent *event)
|
||||
style()->drawComplexControl(QStyle::CC_ComboBox, &optCombo, &p, this);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns the string for AM and PM markers.
|
||||
|
||||
If a translation for "AM" and "PM" is installed, then use that.
|
||||
Otherwise, use the default implementation, which uses the locale.
|
||||
*/
|
||||
QString QDateTimeEditPrivate::getAmPmText(AmPm ap, Case cs) const
|
||||
{
|
||||
QString original;
|
||||
QString translated;
|
||||
if (ap == AmText) {
|
||||
return (cs == UpperCase ? QDateTimeParser::tr("AM") : QDateTimeParser::tr("am"));
|
||||
original = QLatin1String(cs == UpperCase ? "AM" : "am");
|
||||
translated = (cs == UpperCase ? QDateTimeParser::tr("AM") : QDateTimeParser::tr("am"));
|
||||
} else {
|
||||
return (cs == UpperCase ? QDateTimeParser::tr("PM") : QDateTimeParser::tr("pm"));
|
||||
original = QLatin1String(cs == UpperCase ? "PM" : "pm");
|
||||
translated = (cs == UpperCase ? QDateTimeParser::tr("PM") : QDateTimeParser::tr("pm"));
|
||||
}
|
||||
|
||||
// This logic fails if a translation exists but doesn't change the string,
|
||||
// which we can accept as a corner-case for which a locale-derived answer
|
||||
// will be acceptable.
|
||||
if (original != translated)
|
||||
return translated;
|
||||
|
||||
return QDateTimeParser::getAmPmText(ap, cs);
|
||||
}
|
||||
|
||||
int QDateTimeEditPrivate::absoluteIndex(QDateTimeEdit::Section s, int index) const
|
||||
|
@ -1,4 +1,5 @@
|
||||
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
|
||||
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)
|
||||
|
||||
project = QtXml
|
||||
description = Qt XML Reference Documentation
|
||||
|
@ -2,4 +2,6 @@ CONFIG += testcase
|
||||
TARGET = tst_qglobal
|
||||
QT = core testlib
|
||||
SOURCES = tst_qglobal.cpp qglobal.c
|
||||
contains(QT_CONFIG, c++1z): CONFIG += c++1z
|
||||
qtConfig(c++11): CONFIG += c++11
|
||||
qtConfig(c++14): CONFIG += c++14
|
||||
qtConfig(c++1z): CONFIG += c++1z
|
||||
|
@ -464,7 +464,7 @@ typedef int (Empty::*memFun) ();
|
||||
QCOMPARE(Q_ALIGNOF(type), size_t(alignment)); \
|
||||
/* Compare to native operator for compilers that support it,
|
||||
otherwise... erm... check consistency! :-) */ \
|
||||
QCOMPARE(QT_EMULATED_ALIGNOF(type), Q_ALIGNOF(type)); \
|
||||
QCOMPARE(alignof(type), Q_ALIGNOF(type)); \
|
||||
} while (false)
|
||||
/**/
|
||||
|
||||
@ -517,7 +517,7 @@ void tst_QGlobal::qAlignOf()
|
||||
TEST_AlignOf_impl(AlignmentInStruct<double>, Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||
|
||||
// 32-bit x86 ABI, Clang disagrees with gcc
|
||||
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG)
|
||||
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG) || defined(Q_OS_ANDROID)
|
||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(qint64));
|
||||
#else
|
||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||
|
@ -569,13 +569,7 @@ void tst_QTemporaryFile::rename()
|
||||
|
||||
void tst_QTemporaryFile::renameFdLeak()
|
||||
{
|
||||
#ifdef Q_OS_UNIX
|
||||
|
||||
# if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
|
||||
ChdirOnReturn cor(QDir::currentPath());
|
||||
QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));
|
||||
# endif
|
||||
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID)
|
||||
const QByteArray sourceFile = QFile::encodeName(QFINDTESTDATA(__FILE__));
|
||||
QVERIFY(!sourceFile.isEmpty());
|
||||
// Test this on Unix only
|
||||
|
@ -41,7 +41,6 @@ class tst_QPlugin : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
QDir dir;
|
||||
QString invalidPluginName;
|
||||
|
||||
public:
|
||||
tst_QPlugin();
|
||||
@ -64,15 +63,14 @@ void tst_QPlugin::initTestCase()
|
||||
QVERIFY2(dir.exists(),
|
||||
qPrintable(QString::fromLatin1("Cannot find the 'plugins' directory starting from '%1'").
|
||||
arg(QDir::toNativeSeparators(QDir::currentPath()))));
|
||||
|
||||
const auto fileNames = dir.entryList({"*invalid*"}, QDir::Files);
|
||||
if (!fileNames.isEmpty())
|
||||
invalidPluginName = dir.absoluteFilePath(fileNames.first());
|
||||
}
|
||||
|
||||
void tst_QPlugin::loadDebugPlugin()
|
||||
{
|
||||
const auto fileNames = dir.entryList(QStringList() << "*debug*", QDir::Files);
|
||||
if (fileNames.isEmpty())
|
||||
QSKIP("No debug plugins found - skipping test");
|
||||
|
||||
for (const QString &fileName : fileNames) {
|
||||
if (!QLibrary::isLibrary(fileName))
|
||||
continue;
|
||||
@ -100,6 +98,9 @@ void tst_QPlugin::loadDebugPlugin()
|
||||
void tst_QPlugin::loadReleasePlugin()
|
||||
{
|
||||
const auto fileNames = dir.entryList(QStringList() << "*release*", QDir::Files);
|
||||
if (fileNames.isEmpty())
|
||||
QSKIP("No release plugins found - skipping test");
|
||||
|
||||
for (const QString &fileName : fileNames) {
|
||||
if (!QLibrary::isLibrary(fileName))
|
||||
continue;
|
||||
@ -227,7 +228,13 @@ static qsizetype locateMetadata(const uchar *data, qsizetype len)
|
||||
|
||||
void tst_QPlugin::scanInvalidPlugin()
|
||||
{
|
||||
QVERIFY(!invalidPluginName.isEmpty());
|
||||
const auto fileNames = dir.entryList({"*invalid*"}, QDir::Files);
|
||||
QString invalidPluginName;
|
||||
if (fileNames.isEmpty())
|
||||
QSKIP("No invalid plugin found - skipping test");
|
||||
else
|
||||
invalidPluginName = dir.absoluteFilePath(fileNames.first());
|
||||
|
||||
|
||||
// copy the file
|
||||
QFileInfo fn(invalidPluginName);
|
||||
|
@ -2489,17 +2489,20 @@ void tst_QDateTime::fromString_LOCALE_ILDATE()
|
||||
|
||||
void tst_QDateTime::fromStringToStringLocale_data()
|
||||
{
|
||||
QTest::addColumn<QLocale>("locale");
|
||||
QTest::addColumn<QDateTime>("dateTime");
|
||||
|
||||
QTest::newRow("data0") << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
||||
QTest::newRow("frFR") << QLocale(QLocale::French, QLocale::France) << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
||||
QTest::newRow("spCO") << QLocale(QLocale::Spanish, QLocale::Colombia) << QDateTime(QDate(1999, 1, 18), QTime(11, 49, 00));
|
||||
}
|
||||
|
||||
void tst_QDateTime::fromStringToStringLocale()
|
||||
{
|
||||
QFETCH(QLocale, locale);
|
||||
QFETCH(QDateTime, dateTime);
|
||||
|
||||
QLocale def;
|
||||
QLocale::setDefault(QLocale(QLocale::French, QLocale::France));
|
||||
QLocale::setDefault(locale);
|
||||
#define ROUNDTRIP(format) \
|
||||
QCOMPARE(QDateTime::fromString(dateTime.toString(format), format), dateTime)
|
||||
|
||||
|
@ -539,6 +539,13 @@ void tst_QTextBoundaryFinder::sentenceBoundaries_manual_data()
|
||||
|
||||
QTest::newRow("data3") << testString << expectedBreakPositions;
|
||||
}
|
||||
{
|
||||
QString testString(QString::fromUtf8("Doing TEST, doing another test."));
|
||||
QList<int> expectedBreakPositions;
|
||||
expectedBreakPositions << 0 << 31;
|
||||
|
||||
QTest::newRow("data4") << testString << expectedBreakPositions;
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QTextBoundaryFinder::sentenceBoundaries_manual()
|
||||
|
@ -189,6 +189,10 @@ void tst_QPainterPath::reserveAndCapacity()
|
||||
|
||||
p.reserve(0);
|
||||
QVERIFY(p.capacity() >= 1000);
|
||||
|
||||
QPainterPath p2;
|
||||
p2.reserve(10);
|
||||
QVERIFY(p.capacity() >= 10);
|
||||
}
|
||||
|
||||
Q_DECLARE_METATYPE(QPainterPath)
|
||||
|
@ -861,6 +861,18 @@ void tst_QTextDocument::toHtml_data()
|
||||
<< QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Foo"s Family';\">Blah</span></p>");
|
||||
}
|
||||
|
||||
{
|
||||
CREATE_DOC_AND_CURSOR();
|
||||
|
||||
QTextCharFormat fmt;
|
||||
fmt.setFontFamily("Times");
|
||||
fmt.setFontFamilies(QStringList{ "Times", "serif" });
|
||||
cursor.insertText("Blah", fmt);
|
||||
|
||||
QTest::newRow("font-family-with-fallback") << QTextDocumentFragment(&doc)
|
||||
<< QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Times','serif';\">Blah</span></p>");
|
||||
}
|
||||
|
||||
{
|
||||
CREATE_DOC_AND_CURSOR();
|
||||
|
||||
|
@ -5039,9 +5039,6 @@ public:
|
||||
// very similar to ioPostToHttpUploadProgress but for SSL
|
||||
void tst_QNetworkReply::ioPostToHttpsUploadProgress()
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
||||
#endif
|
||||
//QFile sourceFile(testDataDir + "/bigfile");
|
||||
//QVERIFY(sourceFile.open(QIODevice::ReadOnly));
|
||||
qint64 wantedSize = 2*1024*1024; // 2 MB
|
||||
@ -6423,10 +6420,6 @@ void tst_QNetworkReply::encrypted()
|
||||
|
||||
void tst_QNetworkReply::abortOnEncrypted()
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
||||
#endif
|
||||
|
||||
SslServer server;
|
||||
server.listen();
|
||||
if (!server.isListening())
|
||||
@ -8507,9 +8500,7 @@ void tst_QNetworkReply::ioHttpRedirectErrors_data()
|
||||
|
||||
QTest::newRow("too-many-redirects") << "http://localhost" << tempRedirectReply << QNetworkReply::TooManyRedirectsError;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("insecure-redirect") << "https://localhost" << tempRedirectReply << QNetworkReply::InsecureRedirectError;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
QTest::newRow("unknown-redirect") << "http://localhost"<< tempRedirectReply.replace("http", "bad_protocol") << QNetworkReply::ProtocolUnknownError;
|
||||
}
|
||||
@ -8586,11 +8577,9 @@ void tst_QNetworkReply::ioHttpRedirectPolicy_data()
|
||||
QTest::newRow("nolesssafe-nossl") << QNetworkRequest::NoLessSafeRedirectPolicy << false << 1 << 200;
|
||||
QTest::newRow("same-origin-nossl") << QNetworkRequest::SameOriginRedirectPolicy << false << 1 << 200;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("manual-ssl") << QNetworkRequest::ManualRedirectPolicy << true << 0 << 307;
|
||||
QTest::newRow("nolesssafe-ssl") << QNetworkRequest::NoLessSafeRedirectPolicy << true << 1 << 200;
|
||||
QTest::newRow("same-origin-ssl") << QNetworkRequest::SameOriginRedirectPolicy << true << 1 << 200;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -8644,41 +8633,33 @@ void tst_QNetworkReply::ioHttpRedirectPolicyErrors_data()
|
||||
QTest::newRow("nolesssafe-nossl-nossl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("nolesssafe-ssl-ssl-too-many") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||
<< true << QString("https:/localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||
QTest::newRow("nolesssafe-ssl-nossl-insecure-redirect") << QNetworkRequest::NoLessSafeRedirectPolicy
|
||||
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
// 2. SameOriginRedirectsPolicy
|
||||
QTest::newRow("same-origin-nossl-nossl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< false << QString("http://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("same-origin-ssl-ssl-too-many") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< true << QString("https://localhost:%1") << 0 << QNetworkReply::TooManyRedirectsError;
|
||||
QTest::newRow("same-origin-https-http-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< true << QString("http://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
QTest::newRow("same-origin-http-https-wrong-protocol") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< false << QString("https://localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
QTest::newRow("same-origin-http-http-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< false << QString("http://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("same-origin-https-https-wrong-host") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< true << QString("https://not-so-localhost:%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
QTest::newRow("same-origin-http-http-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< false << QString("http://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#if QT_CONFIG(ssl)
|
||||
#ifndef Q_OS_WIN // QTBUG-76157
|
||||
QTest::newRow("same-origin-https-https-wrong-port") << QNetworkRequest::SameOriginRedirectPolicy
|
||||
<< true << QString("https://localhost/%1") << 50 << QNetworkReply::InsecureRedirectError;
|
||||
#endif // Q_OS_WIN
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -9153,10 +9134,6 @@ void tst_QNetworkReply::putWithServerClosingConnectionImmediately()
|
||||
|
||||
for (int s = 0; s <= 1; s++) {
|
||||
withSsl = (s == 1);
|
||||
#ifdef Q_OS_WIN
|
||||
if (withSsl)
|
||||
QSKIP("QTBUG-76157: get rid of locking in TLS handshake (QSslSocket)");
|
||||
#endif // Q_OS_WIN
|
||||
// Test also needs to run several times because of 9c2ecf89
|
||||
for (int j = 0; j < 20; j++) {
|
||||
// emulate a minimal https server
|
||||
|
Loading…
x
Reference in New Issue
Block a user