summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qurl
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-051-7/+9
|\ | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: I6f3878b204464313aa2f9d988d3b35121d4d9867
| * QUrl: fix resolved() for data URLsDavid Faure2016-07-291-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They look relative because the path doesn't start with a '/' but they have a scheme so they shouldn't be combined as if it was one absolute and one relative URL. [ChangeLog][QtCore][QUrl] QUrl::resolved() no longer treats a URL with a scheme as a relative URL if it matches this URL's scheme. This special casing was incompatible with RFC 3986 and broke resolving data: URLs, for instance. Change-Id: I3758d3a2141cea7c6d13514243eb8dee5d510dd0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-041-67/+95
|\| | | | | | | Change-Id: Ibd81cd1df4a0650d93fcb556a57be90be2e1f569
| * QUrl: Test that we do correctly accept valid schemesThiago Macieira2016-07-021-67/+95
| | | | | | | | | | | | | | | | ... and reject invalid ones. There was one error: we accepted schemes starting with pluses, dashes and dots. Change-Id: Ie585843cfb684bc3b6e3fffd145cfe12227ec4ad Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-251-2/+30
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/compile.test configure src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java src/corelib/global/qglobal.cpp src/widgets/kernel/qapplication.cpp src/widgets/styles/qwindowsvistastyle.cpp tests/auto/corelib/kernel/qobject/tst_qobject.cpp Change-Id: I067083f34e5290aa5f7565e40c30a069cc37b83a
| * Fix encoding of IDN hostnames with QUrl::hostThiago Macieira2016-04-131-0/+3
| | | | | | | | | | | | | | | | | | When the formatting parameter wasn't exactly QUrl::EncodeUnicode, it wouldn't encode, despite having to. Change-Id: Id75834dab9ed466e94c7ffff1444bacc08dd109b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
| * Fix parsing of empty port sections in URLsThiago Macieira2016-04-131-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RFC does allow it. It even has examples showing them as valid. In section 6.2.3, it shows: http://example.com http://example.com/ http://example.com:/ http://example.com:80/ Change-Id: Id75834dab9ed466e94c7ffff1444b7195ad21cab Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-1/+7
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
| * winrt: msvc2015: refactor file handlingMaurice Kalinowski2016-01-211-1/+7
| | | | | | | | | | | | | | | | | | | | | | msvc2015 reintroduced a couple of functions from the win32 API towards WinRT. Enable usage of those and simplify the file system engine. Furthermore update the autotests. Change-Id: I9eafffba0ddfd05917c184c4a6b9e166f86d71d9 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2016-01-261-0/+25
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-211-0/+25
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice_p.h src/corelib/kernel/qvariant_p.h src/corelib/tools/qsimd.cpp src/gui/kernel/qguiapplication.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp Change-Id: I742a093cbb231b282b43e463ec67173e0d29f57a
| | * Fix toDisplayString(QUrl::PreferLocalFile) on WinKevin Funk2016-01-201-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using QUrl::PreferLocalFile we do want to strip the leading slash, as toLocalFile() would do as well. Behavior change by means of an example: QUrl url(QUrl::fromLocalFile("C:/file.txt") url.toLocalFile() --> "C:/file.txt" Before: url.toDisplayString(QUrl::PreferLocalFile) --> "/C:/file.txt" After: url.toDisplayString(QUrl::PreferLocalFile) --> "C:/file.txt" Task-number: QTBUG-41729 Change-Id: I7d425541f6077ebcf3fcf46feeb7e0f03a0d7fe2 Reviewed-by: Dominik Haumann <dhaumann@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Updated license headersJani Heikkinen2016-01-213-52/+37
|/ / | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-081-11/+43
|\| | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * QUrl: revert path-normalization in setPath().David Faure2015-12-221-11/+43
| | | | | | | | | | | | | | | | | | | | | | | | Path normalization should happen only when NormalizePathSegments is set. Use a less intrusive fix for the setPath("//path") issue that commit aba336c2b4ad8 was about. This allows fromLocalFile("/tmp/.") to keep the "/." at the end, which is useful for appending to the path later on (e.g. to get "/tmp/.hidden") Change-Id: Ibc3d4d3276c1d3aaee1774e21e24d01af38fa880 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | tests/auto/corelib: Remove some placeholder formatting.Friedemann Kleint2015-10-221-2/+4
| | | | | | | | | | | | | | | | Use QByteArray/QString addition instead in loops and for test row names. Change-Id: Ieffb429efdc14aa5932b3fcdef5a18e13a62d35f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Tests: Remove CONFIG += parallel_test.Friedemann Kleint2015-09-051-1/+1
| | | | | | | | | | | | | | The keyword no longer has a meaning for the new CI. Change-Id: Ibcea4c7a82fb7f982cf4569fdff19f82066543d1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API.Friedemann Kleint2015-09-011-1/+0
| | | | | | | | | | Change-Id: I1955320e7639760b4383a53f37a506c8055933ef Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | tests/corelib: Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b).Friedemann Kleint2015-08-191-10/+10
|/ | | | | | | | | | | | | | - Replace Q[TRY]_VERIFY(pointer == 0) by Q[TRY]_VERIFY(!pointer). - Replace Q[TRY]_VERIFY(smartPointer == 0) by Q[TRY]_VERIFY(smartPointer.isNull()). - Replace Q[TRY]_VERIFY(a == b) by Q[TRY]_COMPARE(a, b) and add casts where necessary. The values will then be logged should a test fail. Tests from corelib/tools were omitted in this change. Change-Id: I4c8786d33fcf429d11b2b624c7cd89c28cadb518 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QUrl: Add extra testcasesThiago Macieira2015-03-141-1/+10
| | | | | | | Task-number: QTBUG-44921 Task-number: QTBUG-44920 Change-Id: Iee8cbc07c4434ce9b560ffff13ca303803916c2d Reviewed-by: Richard J. Moore <rich@kde.org>
* Fixed license headersJani Heikkinen2015-02-171-1/+1
| | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QUrl effective TLDs: update tablePeter Hartmann2015-02-131-0/+3
| | | | | | | | | | There are more than 1000 new entries since the table has been generated the last time. Some auto tests needed to be adjusted, because some entries in the TLD table were removed while others were added. Change-Id: I4ceec392836d2031dfef49a0c5a857c31b36bb4c Reviewed-by: Richard J. Moore <rich@kde.org>
* Update copyright headersJani Heikkinen2015-02-113-37/+29
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Add Windows-specific notation for WebDAV to QUrl.Friedemann Kleint2014-11-171-0/+9
| | | | | | | | | | | Convert a Windows-specific WebDAV specification "//host@SSL/path" into URL's with scheme set to "webdavs" and back to local file (Windows only). Task-number: QTBUG-42346 Change-Id: I12663243848ea7b2d3f208743e837e9de14a93eb Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix handling of IPv6 addresses in QUrl::fromUserInputThiago Macieira2014-09-281-0/+17
| | | | | | | | | | | | | | | | | | | | | | IPv6 addresses can start with ":", for which QDir::isAbsolute() would always return true (QResourceFileEngine::isRelativePath() returns constant false) and would trip the calculation for local files. Similarly, IPv6 addresses can start with strings that look like Windows drives: "a:", "b:", "c:", "d:", "e:" and "f:" (though not today, as those address blocks are unassigned). Since a valid IPv6 address will definitely require at least one more colon and Windows file names cannot contain ':', there's no ambiguity: a valid IPv6 address is never a valid file on Windows. This resolves the ambiguity in favor of IPv6 for Unix filenames (which can contain a colon) and in case of an URL containing scheme, relative path and no authority ("dead:beef::" for example could have been parsed as scheme() == "dead" and path() == "beef::"). Task-number: QTBUG-41089 Change-Id: Id9119af1acf8a75a786519af3b48b4ca3dbf3719 Reviewed-by: David Faure <david.faure@kdab.com>
* Update license headers and add new license filesMatti Paaso2014-09-242-38/+22
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* QUrl: fromLocalFile(QString()) should lead to an empty URL.David Faure2014-07-261-0/+5
| | | | | | | | | | | | | | This is much more useful than the URL "file:", it allows to use "empty path" and "empty URL" for the same meaning (e.g. not set). QFileDialog actually uses "file:" though, as the URL for the "My Computer" item in the sidebar. This patch preserves that. [ChangeLog][QtCore][QUrl] QUrl::fromLocalFile now returns an empty URL if the input string is empty. Change-Id: Ib5ce1a3cdf5f229368e5bcd83c62c1d1ac9f8a17 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-221-0/+7
|\ | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qwidget_qpa.cpp src/widgets/widgets.pro Change-Id: I697eec936c4e1a6c360edc8f0b472e23c0461ecb
| * tst_qurl: add tests for mailto parsing and toString. No bug.David Faure2014-07-221-0/+7
| | | | | | | | | | | | | | This was prompted by https://git.reviewboard.kde.org/r/119221 Change-Id: Ia148f07f6d711df533693918bbedfa5e7dc02cd5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add QUrl::fromUserInput overload with a cwd argument.David Faure2014-05-061-0/+48
|/ | | | | | | | Useful for any application that can take URLs on the command-line, so that full paths and relative paths can also be accepted. Change-Id: I8a2c50f36d60bdc49c065b3065972fd5d45fa12a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make a URL with absent authority be different from one with an empty oneThiago Macieira2014-02-171-10/+42
| | | | | | | | | | | | This partially reverts 5764f5e6eaf149116a818658883cf4fae9830f30 and fixes the problem differently. After this commit, "file:///foo" is still equal to "file:/foo", but "foo:///foo" becomes different from "foo:/foo", as it should be. Task-number: QTBUG-36151 Change-Id: Ia38638b0f30a7dcf110aa89aa427254c007fc107 Reviewed-by: David Faure <david.faure@kdab.com>
* tst_qurl: add test for matches() with empty vs null caseDavid Faure2013-11-051-0/+8
| | | | | Change-Id: I0f31eed9af0a7f1aed9ce5118b49ddbbff4f5f39 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add Mac type conversion functions to QtCoreMorten Johan Sørvig2013-09-213-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New API: static QString QString::fromCFString(CFStringRef string); CFStringRef QString::toCFString() const; static QString QString::fromNSString(const NSString *string); NSString *QString::toNSString() const; static QUrl QUrl::fromCFURL(CFURLRef url); CFURLRef QUrl::toCFURL() const; static QUrl QUrl::fromNSURL(const NSURL *url); NSURL * QUrl::toNSURL() const; Add Q_OS_MAC-protected function declarations to header files, add implementation to _mm files. CF and NS types are forward-declared in the header files to avoid including the CoreFoundation and Foundation headers. This prevents accidental use of native types in application code. Add helper macros for forward- declaration to qglobal.h Add cf_returns_retained/ns_returns_autoreleased attributes to toCFString() and toNSURL(). These attributes assists the clang static analyzer. Add Q_DECL_ helper macros to qcompilerdetection.h. Add test functions (in _mac.mm files) to the QString and QUrl tests. Split out the test class declarations into a separate headers files. Change-Id: I60fd5e93f042316196284c3db0595835fe8c4ad4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QUrl: ensure that setPath("//path") doesn't lead to scheme://pathDavid Faure2013-09-111-0/+8
| | | | | | | | | | | | | which would interpret 'path' as a hostname. The check is in the public setPath so that the internal one can still support parsing URLs such as ftp://ftp.example.com//path. [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery]QUrl now normalizes the path given in setPath, removing ./ and ../ and duplicate slashes. Change-Id: I05ccd8a1d813de45e460384239c059418a8e6a08 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add unit test to ensure %3A in a path isn't decoded to ':'Thiago Macieira2013-08-231-0/+5
| | | | | | | | | | | QUrl("http%3A%2F%2Fexample.com") has only a path of "http%3A%2F%2Fexample.com". In Qt 5.0 and 5.1, the %3A would get decoded to ':', which in turn makes the URL invalid (colon before first slash). Found via discussion on the interest mailing list. Change-Id: I7f4f242b330df280e635eb97cce123e742aa1b10 Reviewed-by: David Faure <david.faure@kdab.com>
* QUrl: Use decoded mode by default for individual getters/setters.David Faure2013-08-211-13/+18
| | | | | | | | | | | | | | | | | | | This fixes the wrong value for path() and fileName() when a path or file name actually contains a '%'. userInfo() and authority() are not individual getters, they combine two or more fields, so full decoding isn't possible (e.g. username containing a ':'). [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery]QUrl now defaults to decoded mode in the getters and setters for userName, password, host, topLevelDomain, path and fileName. This means a '%' in one of those fields is now returned (or set) as '%' rather than "%25". In the unlikely case where the former behavior was expected, pass PrettyDecoded to the getter and TolerantMode to the setter. Change-Id: Iaeecbde9c269882e79f08b29ff8c661157c41743 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: fix host(FullyDecoded), it shouldn't trigger EncodeUnicode.David Faure2013-08-211-0/+25
| | | | | Change-Id: I9a62d5eb8b099b659cfcfc591c983b3d73ca9569 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: do not decode "#" in fragmentsThiago Macieira2013-08-041-4/+4
| | | | | | | | | | | | | | | | | For some time, we've assumed that the URL specification had a mistake in that it didn't allow the "#" character to appear decoded in the fragment. We've gotten away with it so far. However, turns out that the CoreFoundation NSURL class doesn't like it. So we have to be stricter. [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no longer decodes %23 found in the fragment to "#" in the output of toString(QUrl::FullyEncoded) or toEncoded() Task-number: QTBUG-31945 Change-Id: If5e0fb37bae84710986c9ca89bd69ec98437cd63 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Remove fully-decoded QUrl user info and authority sectionsThiago Macieira2013-08-041-11/+1
| | | | | | | | | | | | | | | | | | | | Those sections contain more than one components of a URL, separated by delimiters. For that reason, QUrl::FullyDecoded and QUrl::DecodedMode do not make sense, since they would cause the returned value to be ambiguous and/or fail to parse again. In fact, there was a comment in the test saying "look how it becomes ambiguous". Those modes are already forbidden in the setters and getters of the full URL (setUrl(), url(), toString() and toEncoded()). [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no longer supports QUrl::FullyDecoded mode in authority() and userInfo(), nor QUrl::DecodedMode in setAuthority() and setUserInfo(). Change-Id: I538f7981a9f5a09f07d3879d31ccf6f0c8bfd940 Reviewed-by: David Faure (KDE) <faure@kde.org>
* QUrl: update our understanding of the encoding of delimitersThiago Macieira2013-08-041-103/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The longer explanation can be found in the comment in qurl.cpp. The short version is as follows: Up to now, we considered that every character could be replaced with its percent-encoding equivalent and vice-versa, so long as the parsing of the URL did not change. For example, x:/path+path and x:/path%2Bpath were the same. However, to do this and yet be compliant with most URL uses in the real world, we had to add exceptions: - "/" and "%2F" were not the same in the path, despite the delimiter being behind (rationale was the complex definition of path) - "+" and "%2B" were not the same in the query, so we ended up not transforming any sub-delim in the query at all Now, we change our understanding based on the following line from RFC 3986 section 2.2: URIs that differ in the replacement of a reserved character with its corresponding percent-encoded octet are not equivalent. From now on, QUrl will not replace any sub-delim or gen-delim ("reserved character"), except where such a character could not exist in the first place. This simplifies the code and removes all exceptions. As a side-effect, this has also changed the behaviour of the "{" and "}" characters, which we previously allowed to remain decoded. [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no longer considers all delimiter characters equivalent to their percent-encoded forms. Now, both classes always keep all delimiters exactly as they were in the original URL text. [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no longer decodes %7B and %7D to "{" and "}" in the output of toString() Task-number: QTBUG-31660 Change-Id: Iba0b5b31b269635ac2d0adb2bb0dfb74c139e08c Reviewed-by: David Faure (KDE) <faure@kde.org>
* QUrl: add matches(url, options) method.David Faure2013-07-261-0/+58
| | | | | Change-Id: I534f494aecc48cc2accfcfcb692f35046250b493 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: let StripTrailingSlash remove multiple trailing slashesDavid Faure2013-07-201-0/+2
| | | | | Change-Id: Ic4c8f70bb729630d9110ed6766dd9e40f9ab4d80 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: add fileName() method. Complements QUrl::RemoveFilename.David Faure2013-07-201-0/+39
| | | | | Change-Id: Ieda43364214c3b7aee43040e176e29ad48c14271 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QUrl store the first bad IPv6 character in the error stringThiago Macieira2013-07-201-0/+2
| | | | | Change-Id: I9a0a521ff5c3188ba6f862e2b91369cb61787359 Reviewed-by: David Faure (KDE) <faure@kde.org>
* QUrl: Uppercase the version number in IPvFutureThiago Macieira2013-07-201-1/+1
| | | | | | | | | We don't know what it might be used for. The RFC for URI says it's an HEXDIG, and since we uppercase all other HEXDIGs already (in percent-encodings...). Change-Id: I56d0a81315576dd98eaa2657c0307d79332543a5 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Fix IPvFuture use in QUrlThiago Macieira2013-07-201-0/+64
| | | | | | | | | We have no idea what it might contain, but test it anyway to make sure it works. Turns out there were a few bugs the unit tests have now caught. Change-Id: I0a6c868365feec31c2360b3c341c8ca6944f4352 Reviewed-by: David Faure (KDE) <faure@kde.org>
* Fix QUrl parsing of IPv6 hosts with encoded colonsThiago Macieira2013-07-201-0/+4
| | | | | | | | | | | | | Registered names and IP addresses can only contain unreserved characters (letters, digits, dots, hyphens, underscores) and the colon, which is a gen-delim. For registered names and IPv4 addresses, we can simply use the default config -- if anything that remains percent-encoded, it means it's not a valid hostname anyway. For IPv6, we just need to decode the colon. Change-Id: If8083d47f6e5375f760e7a6c59631c89e4da8378 Reviewed-by: David Faure (KDE) <faure@kde.org>
* QUrl: add NormalizePathSegments to UrlFormattingOptionsDavid Faure2013-07-131-0/+11
| | | | | | | | | This is a bit like QDir::cleanPath(), but for URL paths. The code is shared with QDir::cleanPath(), by extracting the common parts it into a helper, qt_normalizePathSegments(). Change-Id: I7133c5e4aa2bf17fba98af13eb5371afba64197a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge branch 'stable' into devSergio Ahumada2013-07-111-1/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * QUrl test: ensure that hostnames with bad non-IDN domains are caught tooThiago Macieira2013-07-021-1/+4
| | | | | | | | | | | | | | | | | | Leading and double dots are bad, but trailing dots are fine. The ASCII part of a hostname is supposed to be LDH (letters, digits, hyphen) only, but we accept '_' (underscore) as an exception too. Change-Id: I79957ddec4da78a0e2357fe50c8687db03e1c99e Reviewed-by: David Faure (KDE) <faure@kde.org>