summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2012-07-31 14:06:10 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-01 13:04:15 +0200
commitf893d9ec41578c0981507dccc41d1ee2a11f6bae (patch)
tree16f46fa392aaaa6c56fce74347f71341c6472a5d /tests/auto/corelib
parent4d1f0ccbf31c7aed9629e6b9e9bdd6b903119b11 (diff)
Fix QUrl support for empty usernames and passwords
If the password is empty (but present), the userinfo component of the URL should end in a colon (":"). QUrl already supported that and it was tested (case "password-empty"). If the username is *also* empty but present, the userinfo component is just the colon (":"). Fix support for that case by checking if we stored the presence flag instead of checking the size of the component. Change-Id: Ie224493a997dbf76b2e44dd6d55fd9674ac83c1c Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index f94b0441f8..8b4908f977 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -2991,15 +2991,21 @@ void tst_QUrl::setComponents_data()
QTest::newRow("userinfo-empty") << QUrl("http://user:pass@example.com")
<< int(UserInfo) << "" << Tolerant << true
<< PrettyDecoded << "" << "http://@example.com";
+ QTest::newRow("userinfo-colon") << QUrl("http://user@example.com")
+ << int(UserInfo) << ":" << Tolerant << true
+ << PrettyDecoded << ":" << "http://:@example.com";
QTest::newRow("username-null") << QUrl("http://user@example.com")
<< int(UserName) << QString() << Tolerant << true
<< PrettyDecoded << QString() << "http://example.com";
QTest::newRow("username-empty") << QUrl("http://user@example.com")
<< int(UserName) << "" << Tolerant << true
<< PrettyDecoded << "" << "http://@example.com";
- QTest::newRow("username-empty-path-nonempty") << QUrl("http://user:pass@example.com")
- << int(UserName) << "" << Tolerant << true
- << PrettyDecoded << "" << "http://:pass@example.com";
+ QTest::newRow("username-empty-password-nonempty") << QUrl("http://user:pass@example.com")
+ << int(UserName) << "" << Tolerant << true
+ << PrettyDecoded << "" << "http://:pass@example.com";
+ QTest::newRow("username-empty-password-empty") << QUrl("http://user:@example.com")
+ << int(UserName) << "" << Tolerant << true
+ << PrettyDecoded << "" << "http://:@example.com";
QTest::newRow("password-null") << QUrl("http://user:pass@example.com")
<< int(Password) << QString() << Tolerant << true
<< PrettyDecoded << QString() << "http://user@example.com";