Remove QUrl::topLevelDomain
And move the actual implementation from corelib/io to network/kernel sub-module. Fixes: QTBUG-80308 Change-Id: I554b05bae3552c68e1e1a405c169366ee19120b2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
parent
ba50d27e76
commit
4f076db3d2
@ -72,12 +72,10 @@ qt_add_module(Core
|
||||
io/qstorageinfo.cpp io/qstorageinfo.h io/qstorageinfo_p.h
|
||||
io/qtemporarydir.cpp io/qtemporarydir.h
|
||||
io/qtemporaryfile.cpp io/qtemporaryfile.h io/qtemporaryfile_p.h
|
||||
io/qtldurl.cpp io/qtldurl_p.h
|
||||
io/qurl.cpp io/qurl.h io/qurl_p.h
|
||||
io/qurlidna.cpp
|
||||
io/qurlquery.cpp io/qurlquery.h
|
||||
io/qurlrecode.cpp
|
||||
io/qurltlds_p.h
|
||||
itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h
|
||||
itemmodels/qitemselectionmodel.cpp itemmodels/qitemselectionmodel.h itemmodels/qitemselectionmodel_p.h
|
||||
kernel/qabstracteventdispatcher.cpp kernel/qabstracteventdispatcher.h kernel/qabstracteventdispatcher_p.h
|
||||
@ -803,7 +801,7 @@ qt_extend_target(Core CONDITION WINRT
|
||||
kernel/qfunctions_winrt.cpp kernel/qfunctions_winrt.h
|
||||
)
|
||||
|
||||
qt_extend_target(Core CONDITION UNIX AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT rtems
|
||||
qt_extend_target(Core CONDITION QT_FEATURE_process AND UNIX
|
||||
SOURCES
|
||||
../3rdparty/forkfd/forkfd.h
|
||||
io/forkfd_qt.cpp
|
||||
|
@ -90,12 +90,10 @@ qt_add_module(Core
|
||||
io/qstorageinfo.cpp io/qstorageinfo.h io/qstorageinfo_p.h
|
||||
io/qtemporarydir.cpp io/qtemporarydir.h
|
||||
io/qtemporaryfile.cpp io/qtemporaryfile.h io/qtemporaryfile_p.h
|
||||
io/qtldurl.cpp io/qtldurl_p.h
|
||||
io/qurl.cpp io/qurl.h io/qurl_p.h
|
||||
io/qurlidna.cpp
|
||||
io/qurlquery.cpp io/qurlquery.h
|
||||
io/qurlrecode.cpp
|
||||
io/qurltlds_p.h
|
||||
itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h
|
||||
itemmodels/qitemselectionmodel.cpp itemmodels/qitemselectionmodel.h itemmodels/qitemselectionmodel_p.h
|
||||
kernel/qabstracteventdispatcher.cpp kernel/qabstracteventdispatcher.h kernel/qabstracteventdispatcher_p.h
|
||||
@ -903,7 +901,7 @@ qt_extend_target(Core CONDITION WINRT
|
||||
kernel/qfunctions_winrt.cpp kernel/qfunctions_winrt.h
|
||||
)
|
||||
|
||||
qt_extend_target(Core CONDITION UNIX AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT rtems
|
||||
qt_extend_target(Core CONDITION QT_FEATURE_process AND UNIX
|
||||
SOURCES
|
||||
../3rdparty/forkfd/forkfd.h
|
||||
io/forkfd_qt.cpp
|
||||
|
@ -761,7 +761,7 @@ qt_feature("process" PUBLIC
|
||||
SECTION "File I/O"
|
||||
LABEL "QProcess"
|
||||
PURPOSE "Supports external process invocation."
|
||||
CONDITION QT_FEATURE_processenvironment AND NOT WINRT AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT VXWORKS AND NOT rtems
|
||||
CONDITION QT_FEATURE_processenvironment AND ( QT_FEATURE_thread OR NOT UNIX ) AND NOT WINRT AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT VXWORKS AND NOT rtems
|
||||
)
|
||||
qt_feature_definition("process" "QT_NO_PROCESS" NEGATE VALUE "1")
|
||||
qt_feature("processenvironment" PUBLIC
|
||||
@ -955,11 +955,6 @@ qt_feature("etw" PRIVATE
|
||||
ENABLE INPUT_trace STREQUAL 'etw' OR ( INPUT_trace STREQUAL 'yes' AND WIN32 )
|
||||
DISABLE INPUT_trace STREQUAL 'lttng' OR INPUT_trace STREQUAL 'no'
|
||||
)
|
||||
qt_feature("topleveldomain" PUBLIC
|
||||
SECTION "Utilities"
|
||||
LABEL "QUrl::topLevelDomain()"
|
||||
PURPOSE "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie."
|
||||
)
|
||||
qt_feature("win32_system_libs"
|
||||
LABEL "Windows System Libraries"
|
||||
CONDITION WIN32 AND libs.advapi32 AND libs.gdi32 AND libs.kernel32 AND libs.netapi32 AND libs.ole32 AND libs.shell32 AND libs.uuid AND libs.user32 AND libs.winmm AND libs.ws2_32 OR FIXME
|
||||
|
@ -1096,12 +1096,6 @@
|
||||
"condition": "config.win32",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"topleveldomain": {
|
||||
"label": "QUrl::topLevelDomain()",
|
||||
"purpose": "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie.",
|
||||
"section": "Utilities",
|
||||
"output": [ "publicFeature" ]
|
||||
},
|
||||
"win32_system_libs": {
|
||||
"label": "Windows System Libraries",
|
||||
"condition": "config.win32 && libs.advapi32 && libs.gdi32 && libs.kernel32 && libs.netapi32 && libs.ole32 && libs.shell32 && libs.uuid && libs.user32 && libs.winmm && libs.ws2_32"
|
||||
|
@ -32,8 +32,6 @@ HEADERS += \
|
||||
io/qurl.h \
|
||||
io/qurl_p.h \
|
||||
io/qurlquery.h \
|
||||
io/qurltlds_p.h \
|
||||
io/qtldurl_p.h \
|
||||
io/qfsfileengine_p.h \
|
||||
io/qfsfileengine_iterator_p.h \
|
||||
io/qfilesystementry_p.h \
|
||||
@ -49,7 +47,6 @@ SOURCES += \
|
||||
io/qabstractfileengine.cpp \
|
||||
io/qbuffer.cpp \
|
||||
io/qdataurl.cpp \
|
||||
io/qtldurl.cpp \
|
||||
io/qdebug.cpp \
|
||||
io/qdir.cpp \
|
||||
io/qdiriterator.cpp \
|
||||
|
@ -415,9 +415,6 @@
|
||||
#include "qhash.h"
|
||||
#include "qdir.h" // for QDir::fromNativeSeparators
|
||||
#include "qdatastream.h"
|
||||
#if QT_CONFIG(topleveldomain) // ### Qt6: Remove section
|
||||
#include "qtldurl_p.h"
|
||||
#endif
|
||||
#include "private/qipaddress_p.h"
|
||||
#include "qurlquery.h"
|
||||
#include "private/qdir_p.h"
|
||||
@ -3149,46 +3146,6 @@ bool QUrl::hasFragment() const
|
||||
return d->hasFragment();
|
||||
}
|
||||
|
||||
#if QT_DEPRECATED_SINCE(5, 15)
|
||||
#if QT_CONFIG(topleveldomain)
|
||||
/*!
|
||||
\since 4.8
|
||||
|
||||
\deprecated
|
||||
|
||||
Returns the TLD (Top-Level Domain) of the URL, (e.g. .co.uk, .net).
|
||||
Note that the return value is prefixed with a '.' unless the
|
||||
URL does not contain a valid TLD, in which case the function returns
|
||||
an empty string.
|
||||
|
||||
Note that this function considers a TLD to be any domain that allows users
|
||||
to register subdomains under, including many home, dynamic DNS websites and
|
||||
blogging providers. This is useful for determining whether two websites
|
||||
belong to the same infrastructure and communication should be allowed, such
|
||||
as browser cookies: two domains should be considered part of the same
|
||||
website if they share at least one label in addition to the value
|
||||
returned by this function.
|
||||
|
||||
\list
|
||||
\li \c{foo.co.uk} and \c{foo.com} do not share a top-level domain
|
||||
\li \c{foo.co.uk} and \c{bar.co.uk} share the \c{.co.uk} domain, but the next label is different
|
||||
\li \c{www.foo.co.uk} and \c{ftp.foo.co.uk} share the same top-level domain and one more label,
|
||||
so they are considered part of the same site
|
||||
\endlist
|
||||
|
||||
If \a options includes EncodeUnicode, the returned string will be in
|
||||
ASCII Compatible Encoding.
|
||||
*/
|
||||
QString QUrl::topLevelDomain(ComponentFormattingOptions options) const
|
||||
{
|
||||
QString tld = qTopLevelDomain(host());
|
||||
if (options & EncodeUnicode) {
|
||||
return qt_ACE_do(tld, ToAceOnly, AllowLeadingDot);
|
||||
}
|
||||
return tld;
|
||||
}
|
||||
#endif
|
||||
#endif // QT_DEPRECATED_SINCE(5, 15)
|
||||
/*!
|
||||
Returns the result of the merge of this URL with \a relative. This
|
||||
URL is used as a base to convert \a relative to an absolute URL.
|
||||
|
@ -233,11 +233,6 @@ public:
|
||||
|
||||
void setHost(const QString &host, ParsingMode mode = DecodedMode);
|
||||
QString host(ComponentFormattingOptions = FullyDecoded) const;
|
||||
#if QT_DEPRECATED_SINCE(5, 15)
|
||||
#if QT_CONFIG(topleveldomain)
|
||||
QT_DEPRECATED QString topLevelDomain(ComponentFormattingOptions options = FullyDecoded) const;
|
||||
#endif
|
||||
#endif // QT_DEPRECATED_SINCE(5, 15)
|
||||
|
||||
void setPort(int port);
|
||||
int port(int defaultPort = -1) const;
|
||||
|
@ -5,7 +5,6 @@
|
||||
#####################################################################
|
||||
|
||||
qt_add_module(Network
|
||||
PLUGIN_TYPES bearer
|
||||
SOURCES
|
||||
access/qabstractnetworkcache.cpp access/qabstractnetworkcache.h access/qabstractnetworkcache_p.h
|
||||
access/qhsts.cpp access/qhsts_p.h
|
||||
@ -25,14 +24,6 @@ qt_add_module(Network
|
||||
access/qnetworkreplyfileimpl.cpp access/qnetworkreplyfileimpl_p.h
|
||||
access/qnetworkreplyimpl.cpp access/qnetworkreplyimpl_p.h
|
||||
access/qnetworkrequest.cpp access/qnetworkrequest.h access/qnetworkrequest_p.h
|
||||
bearer/qbearerengine.cpp bearer/qbearerengine_p.h
|
||||
bearer/qbearerengine_impl_p.h
|
||||
bearer/qbearerplugin.cpp bearer/qbearerplugin_p.h
|
||||
bearer/qnetworkconfigmanager.cpp bearer/qnetworkconfigmanager.h bearer/qnetworkconfigmanager_p.cpp bearer/qnetworkconfigmanager_p.h
|
||||
bearer/qnetworkconfiguration.cpp bearer/qnetworkconfiguration.h bearer/qnetworkconfiguration_p.h
|
||||
bearer/qnetworksession.cpp bearer/qnetworksession.h bearer/qnetworksession_p.h
|
||||
bearer/qnetworksession_impl.cpp bearer/qnetworksession_impl_p.h
|
||||
bearer/qsharednetworksession.cpp bearer/qsharednetworksession_p.h
|
||||
kernel/qauthenticator.cpp kernel/qauthenticator.h kernel/qauthenticator_p.h
|
||||
kernel/qhostaddress.cpp kernel/qhostaddress.h kernel/qhostaddress_p.h
|
||||
kernel/qhostinfo.cpp kernel/qhostinfo.h kernel/qhostinfo_p.h
|
||||
@ -92,6 +83,18 @@ if(ANDROID AND (QT_FEATURE_bearermanagement))
|
||||
)
|
||||
endif()
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_bearermanagement
|
||||
SOURCES
|
||||
bearer/qbearerengine.cpp bearer/qbearerengine_p.h
|
||||
bearer/qbearerengine_impl_p.h
|
||||
bearer/qbearerplugin.cpp bearer/qbearerplugin_p.h
|
||||
bearer/qnetworkconfigmanager.cpp bearer/qnetworkconfigmanager.h bearer/qnetworkconfigmanager_p.cpp bearer/qnetworkconfigmanager_p.h
|
||||
bearer/qnetworkconfiguration.cpp bearer/qnetworkconfiguration.h bearer/qnetworkconfiguration_p.h
|
||||
bearer/qnetworksession.cpp bearer/qnetworksession.h bearer/qnetworksession_p.h
|
||||
bearer/qnetworksession_impl.cpp bearer/qnetworksession_impl_p.h
|
||||
bearer/qsharednetworksession.cpp bearer/qsharednetworksession_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_ftp
|
||||
SOURCES
|
||||
access/qftp.cpp access/qftp_p.h
|
||||
@ -144,6 +147,12 @@ qt_extend_target(Network CONDITION QT_FEATURE_http
|
||||
socket/qhttpsocketengine.cpp socket/qhttpsocketengine_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_topleveldomain
|
||||
SOURCES
|
||||
kernel/qtldurl.cpp kernel/qtldurl_p.h
|
||||
kernel/qurltlds_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_dnslookup
|
||||
SOURCES
|
||||
kernel/qdnslookup.cpp kernel/qdnslookup.h kernel/qdnslookup_p.h
|
||||
|
@ -18,7 +18,6 @@ endif()
|
||||
#####################################################################
|
||||
|
||||
qt_add_module(Network
|
||||
PLUGIN_TYPES bearer
|
||||
SOURCES
|
||||
access/qabstractnetworkcache.cpp access/qabstractnetworkcache.h access/qabstractnetworkcache_p.h
|
||||
access/qhsts.cpp access/qhsts_p.h
|
||||
@ -38,14 +37,6 @@ qt_add_module(Network
|
||||
access/qnetworkreplyfileimpl.cpp access/qnetworkreplyfileimpl_p.h
|
||||
access/qnetworkreplyimpl.cpp access/qnetworkreplyimpl_p.h
|
||||
access/qnetworkrequest.cpp access/qnetworkrequest.h access/qnetworkrequest_p.h
|
||||
bearer/qbearerengine.cpp bearer/qbearerengine_p.h
|
||||
bearer/qbearerengine_impl_p.h
|
||||
bearer/qbearerplugin.cpp bearer/qbearerplugin_p.h
|
||||
bearer/qnetworkconfigmanager.cpp bearer/qnetworkconfigmanager.h bearer/qnetworkconfigmanager_p.cpp bearer/qnetworkconfigmanager_p.h
|
||||
bearer/qnetworkconfiguration.cpp bearer/qnetworkconfiguration.h bearer/qnetworkconfiguration_p.h
|
||||
bearer/qnetworksession.cpp bearer/qnetworksession.h bearer/qnetworksession_p.h
|
||||
bearer/qnetworksession_impl.cpp bearer/qnetworksession_impl_p.h
|
||||
bearer/qsharednetworksession.cpp bearer/qsharednetworksession_p.h
|
||||
kernel/qauthenticator.cpp kernel/qauthenticator.h kernel/qauthenticator_p.h
|
||||
kernel/qhostaddress.cpp kernel/qhostaddress.h kernel/qhostaddress_p.h
|
||||
kernel/qhostinfo.cpp kernel/qhostinfo.h kernel/qhostinfo_p.h
|
||||
@ -105,6 +96,18 @@ if(ANDROID AND (QT_FEATURE_bearermanagement))
|
||||
)
|
||||
endif()
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_bearermanagement
|
||||
SOURCES
|
||||
bearer/qbearerengine.cpp bearer/qbearerengine_p.h
|
||||
bearer/qbearerengine_impl_p.h
|
||||
bearer/qbearerplugin.cpp bearer/qbearerplugin_p.h
|
||||
bearer/qnetworkconfigmanager.cpp bearer/qnetworkconfigmanager.h bearer/qnetworkconfigmanager_p.cpp bearer/qnetworkconfigmanager_p.h
|
||||
bearer/qnetworkconfiguration.cpp bearer/qnetworkconfiguration.h bearer/qnetworkconfiguration_p.h
|
||||
bearer/qnetworksession.cpp bearer/qnetworksession.h bearer/qnetworksession_p.h
|
||||
bearer/qnetworksession_impl.cpp bearer/qnetworksession_impl_p.h
|
||||
bearer/qsharednetworksession.cpp bearer/qsharednetworksession_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_ftp
|
||||
SOURCES
|
||||
access/qftp.cpp access/qftp_p.h
|
||||
@ -157,6 +160,12 @@ qt_extend_target(Network CONDITION QT_FEATURE_http
|
||||
socket/qhttpsocketengine.cpp socket/qhttpsocketengine_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_topleveldomain
|
||||
SOURCES
|
||||
kernel/qtldurl.cpp kernel/qtldurl_p.h
|
||||
kernel/qurltlds_p.h
|
||||
)
|
||||
|
||||
qt_extend_target(Network CONDITION QT_FEATURE_dnslookup
|
||||
SOURCES
|
||||
kernel/qdnslookup.cpp kernel/qdnslookup.h kernel/qdnslookup_p.h
|
||||
|
@ -358,3 +358,8 @@ qt_feature("netlistmgr" PRIVATE
|
||||
PURPOSE "Use Network List Manager to keep track of network connectivity"
|
||||
CONDITION WIN32 AND TEST_netlistmgr
|
||||
)
|
||||
qt_feature("topleveldomain" PUBLIC
|
||||
SECTION "Networking"
|
||||
LABEL "qTopLevelDomain()"
|
||||
PURPOSE "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie."
|
||||
)
|
||||
|
@ -431,6 +431,12 @@
|
||||
"section": "Networking",
|
||||
"condition": "config.win32 && tests.netlistmgr",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"topleveldomain": {
|
||||
"label": "qTopLevelDomain()",
|
||||
"purpose": "Provides support for extracting the top level domain from URLs. If enabled, a binary dump of the Public Suffix List (http://www.publicsuffix.org, Mozilla License) is included. The data is then also used in QNetworkCookieJar::validateCookie.",
|
||||
"section": "Networking",
|
||||
"output": [ "publicFeature" ]
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -26,6 +26,13 @@ SOURCES += kernel/qauthenticator.cpp \
|
||||
kernel/qnetworkinterface.cpp \
|
||||
kernel/qnetworkproxy.cpp
|
||||
|
||||
|
||||
qtConfig(topleveldomain) {
|
||||
HEADERS += kernel/qurltlds_p.h \
|
||||
kernel/qtldurl_p.h
|
||||
SOURCES += kernel/qtldurl.cpp
|
||||
}
|
||||
|
||||
qtConfig(ftp) {
|
||||
HEADERS += kernel/qurlinfo_p.h
|
||||
SOURCES += kernel/qurlinfo.cpp
|
||||
|
@ -39,6 +39,8 @@
|
||||
|
||||
#include <qglobal.h>
|
||||
|
||||
#include <QtNetwork/private/qtnetworkglobal_p.h>
|
||||
|
||||
#if QT_CONFIG(topleveldomain)
|
||||
|
||||
#include "qplatformdefs.h"
|
||||
@ -92,7 +94,7 @@ static bool containsTLDEntry(QStringView entry, TLDMatchType match)
|
||||
\a domain.
|
||||
*/
|
||||
|
||||
Q_CORE_EXPORT QString qTopLevelDomain(const QString &domain)
|
||||
Q_NETWORK_EXPORT QString qTopLevelDomain(const QString &domain)
|
||||
{
|
||||
const QString domainLower = domain.toLower();
|
||||
QVector<QStringRef> sections = domainLower.splitRef(QLatin1Char('.'), QString::SkipEmptyParts);
|
||||
@ -114,7 +116,7 @@ Q_CORE_EXPORT QString qTopLevelDomain(const QString &domain)
|
||||
Return true if \a domain is a top-level-domain per Qt's copy of the Mozilla public suffix list.
|
||||
*/
|
||||
|
||||
Q_CORE_EXPORT bool qIsEffectiveTLD(const QStringRef &domain)
|
||||
Q_NETWORK_EXPORT bool qIsEffectiveTLD(const QStringRef &domain)
|
||||
{
|
||||
// for domain 'foo.bar.com':
|
||||
// 1. return if TLD table contains 'foo.bar.com'
|
@ -3,7 +3,7 @@
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtCore module of the Qt Toolkit.
|
||||
** This file is part of the QtNetwork module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
@ -51,7 +51,7 @@
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include <QtCore/private/qglobal_p.h>
|
||||
#include <QtNetwork/private/qtnetworkglobal_p.h>
|
||||
#include "QtCore/qurl.h"
|
||||
#include "QtCore/qstring.h"
|
||||
|
||||
@ -59,8 +59,8 @@ QT_REQUIRE_CONFIG(topleveldomain);
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
Q_CORE_EXPORT QString qTopLevelDomain(const QString &domain);
|
||||
Q_CORE_EXPORT bool qIsEffectiveTLD(const QStringRef &domain);
|
||||
Q_NETWORK_EXPORT QString qTopLevelDomain(const QString &domain);
|
||||
Q_NETWORK_EXPORT bool qIsEffectiveTLD(const QStringRef &domain);
|
||||
inline bool qIsEffectiveTLD(const QString &domain)
|
||||
{
|
||||
return qIsEffectiveTLD(QStringRef(&domain));
|
@ -52,7 +52,7 @@
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include <QtCore/private/qglobal_p.h>
|
||||
#include <QtNetwork/private/qtnetworkglobal_p.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
@ -48,8 +48,6 @@ class tst_QUrl : public QObject
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void cleanupTestCase();
|
||||
void effectiveTLDs_data();
|
||||
void effectiveTLDs();
|
||||
void getSetCheck();
|
||||
void constructing();
|
||||
void hashInPath();
|
||||
@ -3387,61 +3385,6 @@ void tst_QUrl::acceptEmptyAuthoritySegments()
|
||||
QCOMPARE(QUrl(file_uni_bar, QUrl::StrictMode).toString(), file_triple_bar);
|
||||
}
|
||||
|
||||
void tst_QUrl::effectiveTLDs_data()
|
||||
{
|
||||
// See also: tst_QNetworkCookieJar::setCookiesFromUrl().
|
||||
// in tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
|
||||
QTest::addColumn<QUrl>("domain");
|
||||
QTest::addColumn<QString>("TLD");
|
||||
// TODO: autogenerate test-cases from:
|
||||
// https://raw.githubusercontent.com/publicsuffix/list/master/tests/test_psl.txt
|
||||
// checkPublicSuffix(domain, tail) appears in the list if
|
||||
// either tail is null and domain is public or
|
||||
// tail is the "registrable" part of domain; i.e. its minimal non-public tail.
|
||||
|
||||
QTest::newRow("yes0") << QUrl::fromEncoded("http://test.co.uk") << ".co.uk";
|
||||
QTest::newRow("yes1") << QUrl::fromEncoded("http://test.com") << ".com";
|
||||
QTest::newRow("yes2") << QUrl::fromEncoded("http://www.test.de") << ".de";
|
||||
QTest::newRow("yes3") << QUrl::fromEncoded("http://test.ulm.museum") << ".ulm.museum";
|
||||
QTest::newRow("yes4") << QUrl::fromEncoded("http://www.com.krodsherad.no") << ".krodsherad.no";
|
||||
QTest::newRow("yes5") << QUrl::fromEncoded("http://www.co.uk.1.bg") << ".1.bg";
|
||||
QTest::newRow("yes6") << QUrl::fromEncoded("http://www.com.com.cn") << ".com.cn";
|
||||
QTest::newRow("yes7") << QUrl::fromEncoded("http://www.test.org.ws") << ".org.ws";
|
||||
QTest::newRow("yes9") << QUrl::fromEncoded("http://www.com.co.uk.wallonie.museum") << ".wallonie.museum";
|
||||
QTest::newRow("yes10") << QUrl::fromEncoded("http://www.com.evje-og-hornnes.no") << ".evje-og-hornnes.no";
|
||||
QTest::newRow("yes11") << QUrl::fromEncoded("http://www.bla.kamijima.ehime.jp") << ".kamijima.ehime.jp";
|
||||
QTest::newRow("yes12") << QUrl::fromEncoded("http://www.bla.kakuda.miyagi.jp") << ".kakuda.miyagi.jp";
|
||||
QTest::newRow("yes13") << QUrl::fromEncoded("http://mypage.betainabox.com") << ".betainabox.com";
|
||||
QTest::newRow("yes14") << QUrl::fromEncoded("http://mypage.rhcloud.com") << ".rhcloud.com";
|
||||
QTest::newRow("yes15") << QUrl::fromEncoded("http://mypage.int.az") << ".int.az";
|
||||
QTest::newRow("yes16") << QUrl::fromEncoded("http://anything.pagespeedmobilizer.com") << ".pagespeedmobilizer.com";
|
||||
QTest::newRow("yes17") << QUrl::fromEncoded("http://anything.eu-central-1.compute.amazonaws.com") << ".eu-central-1.compute.amazonaws.com";
|
||||
QTest::newRow("yes18") << QUrl::fromEncoded("http://anything.ltd.hk") << ".ltd.hk";
|
||||
QTest::newRow("trentino.it")
|
||||
<< QUrl::fromEncoded("http://any.thing.trentino.it") << ".trentino.it";
|
||||
QTest::newRow("net.ni") << QUrl::fromEncoded("http://test.net.ni") << ".net.ni";
|
||||
QTest::newRow("dyn.cosidns.de")
|
||||
<< QUrl::fromEncoded("http://test.dyn.cosidns.de") << ".dyn.cosidns.de";
|
||||
QTest::newRow("freeddns.org")
|
||||
<< QUrl::fromEncoded("http://test.freeddns.org") << ".freeddns.org";
|
||||
QTest::newRow("app.os.stg.fedoraproject.org")
|
||||
<< QUrl::fromEncoded("http://test.app.os.stg.fedoraproject.org")
|
||||
<< ".app.os.stg.fedoraproject.org";
|
||||
QTest::newRow("development.run") << QUrl::fromEncoded("http://test.development.run") << ".development.run";
|
||||
QTest::newRow("crafting.xyz") << QUrl::fromEncoded("http://test.crafting.xyz") << ".crafting.xyz";
|
||||
QTest::newRow("nym.ie") << QUrl::fromEncoded("http://shamus.nym.ie") << ".nym.ie";
|
||||
QTest::newRow("vapor.cloud") << QUrl::fromEncoded("http://test.vapor.cloud") << ".vapor.cloud";
|
||||
QTest::newRow("official.academy") << QUrl::fromEncoded("http://acredited.official.academy") << ".official.academy";
|
||||
}
|
||||
|
||||
void tst_QUrl::effectiveTLDs()
|
||||
{
|
||||
QFETCH(QUrl, domain);
|
||||
QFETCH(QString, TLD);
|
||||
QCOMPARE(domain.topLevelDomain(QUrl::PrettyDecoded), TLD);
|
||||
QCOMPARE(domain.topLevelDomain(QUrl::FullyDecoded), TLD);
|
||||
}
|
||||
|
||||
void tst_QUrl::lowercasesScheme()
|
||||
{
|
||||
QUrl url;
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include <QtCore/QUrl>
|
||||
#include <QtTest/QtTest>
|
||||
|
||||
#include "private/qtldurl_p.h"
|
||||
#include "private/qurl_p.h"
|
||||
|
||||
// For testsuites
|
||||
|
@ -191,6 +191,6 @@ int main(int argc, char **argv)
|
||||
outFile.write(chunks.join(", ").toLatin1());
|
||||
outFile.write("};\n");
|
||||
outFile.close();
|
||||
printf("Data generated to %s - now revise qtbase/src/corelib/io/qurltlds_p.h to use this data.\n", argv[2]);
|
||||
printf("Data generated to %s - now revise qtbase/src/network/kernel/qurltlds_p.h to use this data.\n", argv[2]);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user