qt6-bb10/tests/auto/corelib
Thiago Macieira 993bbb4d4b QUrl: update our understanding of the encoding of delimiters
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>
2013-08-04 04:47:33 +02:00
..
animation Merge remote-tracking branch 'origin/stable' into dev 2013-01-22 18:40:13 +01:00
codecs Ensure that the user codecs are listed in QTextCodec::availableCodecs 2013-07-21 07:30:48 +02:00
global Make QFlags enum flags (C++11 strict enums) friendly 2013-05-09 12:17:59 +02:00
io QUrl: update our understanding of the encoding of delimiters 2013-08-04 04:47:33 +02:00
itemmodels Fix QAbstractItemModel::moveColumn() 2013-04-23 13:35:31 +02:00
json Merge branch 'stable' into dev 2013-07-11 16:42:01 +02:00
kernel Merge branch 'stable' into dev 2013-07-11 16:42:01 +02:00
mimetypes QMimeDatabase: pass MatchMode down, to fix MatchContent. 2013-03-01 13:05:11 +01:00
plugin Make the Mach-O size checking a little more robust 2013-07-20 02:09:41 +02:00
statemachine Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
thread Merge remote-tracking branch 'origin/stable' into dev 2013-05-23 21:27:07 +02:00
tools Avoided zero devision in cube root approximation 2013-07-29 19:29:15 +02:00
xml Check for network module when building according auto tests 2013-02-19 19:20:53 +01:00
corelib.pro Import QMimeType / QMimeDatabase into QtCore. 2012-02-18 22:19:43 +01:00