summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qurl/tst_qurl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qurl/tst_qurl.cpp')
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index 20282068cb..09aefcee91 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -2048,6 +2048,21 @@ void tst_QUrl::isValid()
}
{
+ QUrl url = QUrl::fromEncoded("foo://%f0%9f%93%99.example.la/g");
+ QVERIFY(!url.isValid());
+ QVERIFY(url.toString().isEmpty());
+ QCOMPARE(url.path(), QString("/g"));
+ url.setHost("%f0%9f%93%99.example.la/");
+ QVERIFY(!url.isValid());
+ QVERIFY(url.toString().isEmpty());
+ url.setHost("\xf0\x9f\x93\x99.example.la/");
+ QVERIFY(!url.isValid());
+ QVERIFY(url.toString().isEmpty());
+ QVERIFY2(url.errorString().contains("Invalid hostname"),
+ qPrintable(url.errorString()));
+ }
+
+ {
QUrl url("http://example.com");
QVERIFY(url.isValid());
QVERIFY(!url.toString().isEmpty());
@@ -2778,7 +2793,9 @@ void tst_QUrl::hosts()
{
QFETCH(QString, url);
- QTEST(QUrl(url).host(), "host");
+ QUrl u(url);
+ QTEST(u.host(), "host");
+ QVERIFY(u.isEmpty() || u.isValid());
}
void tst_QUrl::hostFlags_data()