diff options
author | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-14 08:35:33 (GMT) |
---|---|---|
committer | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-14 10:11:07 (GMT) |
commit | c3bec5fa2dfc53051bd09a6c3c1a50b7f239ab41 (patch) | |
tree | e1027afaf109f23624197000e857764281a45955 /tests | |
parent | e301c82693c33c0f96c6a756d15fe35a9d877443 (diff) | |
download | Qt-c3bec5fa2dfc53051bd09a6c3c1a50b7f239ab41.zip Qt-c3bec5fa2dfc53051bd09a6c3c1a50b7f239ab41.tar.gz Qt-c3bec5fa2dfc53051bd09a6c3c1a50b7f239ab41.tar.bz2 |
Fix QUrl::isValid if the host contains invalid caracter.
If the host contains invalid caracter, QUrl::isValid should return false
Task-number: QTBUG-10355
Reviewed-by: thiago
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qurl/tst_qurl.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index ede6cde..3cc0d78 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -1409,7 +1409,7 @@ void tst_QUrl::setUrl() void tst_QUrl::i18n_data() { QTest::addColumn<QString>("input"); - QTest::addColumn<QByteArray>("punyOutput"); + QTest::addColumn<QByteArray>("punyOutput"); QTest::newRow("øl") << QString::fromLatin1("http://ole:passord@www.øl.no/index.html?ole=æsemann&ilder gud=hei#top") << QByteArray("http://ole:passord@www.xn--l-4ga.no/index.html?ole=%C3%A6semann&ilder%20gud=hei#top"); @@ -2164,25 +2164,25 @@ void tst_QUrl::toPercentEncoding_data() QTest::addColumn<QByteArray>("includeInEncoding"); QTest::newRow("test_01") << QString::fromLatin1("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~") - << QByteArray("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~") + << QByteArray("abcdevghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678-._~") << QByteArray("") << QByteArray(""); QTest::newRow("test_02") << QString::fromLatin1("{\t\n\r^\"abc}") - << QByteArray("%7B%09%0A%0D%5E%22abc%7D") + << QByteArray("%7B%09%0A%0D%5E%22abc%7D") << QByteArray("") << QByteArray(""); QTest::newRow("test_03") << QString::fromLatin1("://?#[]@!$&'()*+,;=") - << QByteArray("%3A%2F%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D") + << QByteArray("%3A%2F%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D") << QByteArray("") << QByteArray(""); QTest::newRow("test_04") << QString::fromLatin1("://?#[]@!$&'()*+,;=") - << QByteArray("%3A%2F%2F%3F%23%5B%5D%40!$&'()*+,;=") + << QByteArray("%3A%2F%2F%3F%23%5B%5D%40!$&'()*+,;=") << QByteArray("!$&'()*+,;=") << QByteArray(""); QTest::newRow("test_05") << QString::fromLatin1("abcd") << QByteArray("a%62%63d") << QByteArray("") - << QByteArray("bc"); + << QByteArray("bc"); } void tst_QUrl::toPercentEncoding() @@ -2192,7 +2192,7 @@ void tst_QUrl::toPercentEncoding() QFETCH(QByteArray, excludeInEncoding); QFETCH(QByteArray, includeInEncoding); - QByteArray encodedUrl = QUrl::toPercentEncoding(original, excludeInEncoding, includeInEncoding); + QByteArray encodedUrl = QUrl::toPercentEncoding(original, excludeInEncoding, includeInEncoding); QCOMPARE(encodedUrl.constData(), encoded.constData()); QCOMPARE(original, QUrl::fromPercentEncoding(encodedUrl)); } @@ -2460,6 +2460,8 @@ void tst_QUrl::isValid() QUrl url = QUrl::fromEncoded("http://strange<username>@ok-hostname/", QUrl::StrictMode); QVERIFY(!url.isValid()); // < and > are not allowed in userinfo in strict mode + url.setUserName("normal_username"); + QVERIFY(url.isValid()); } { QUrl url = QUrl::fromEncoded("http://strange<username>@ok-hostname/"); @@ -2470,7 +2472,18 @@ void tst_QUrl::isValid() QUrl url = QUrl::fromEncoded("http://strange;hostname/here"); QVERIFY(!url.isValid()); QCOMPARE(url.path(), QString("/here")); + url.setAuthority("foobar@bar"); + QVERIFY(url.isValid()); + } + + { + QUrl url = QUrl::fromEncoded("foo://stuff;1/g"); + QVERIFY(!url.isValid()); + QCOMPARE(url.path(), QString("/g")); + url.setHost("stuff-1"); + QVERIFY(url.isValid()); } + } void tst_QUrl::schemeValidator_data() |