| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This involved:
- Adding "pypy" to the `tox.ini` envlist.
- Adding `# doctest: +IGNORE_EXCEPTION_DETAIL` to 2 doctests, because the
traceback message text is slightly different on PyPy.
|
| |
|
|
|
|
| |
Exception details are formatted differently between Python 2 and 3.
|
|
|
|
|
|
|
| |
cgi.FieldStorage keeps some keys as str, some as the repr() of the
byte-encoded key, duh.
Fixes (well...): tests.test_cgiapp.test_form
|
|
|
|
| |
Fixes tests.test_cgiapp
|
|
|
|
| |
Fixes tests.test_wsgiwrappers.test_wsgirequest_charset
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
because it seems that the defacto standard for encoding URIs is to use UTF-8.
I've been reading about url encoding and it seems like perhaps using an
encoding other than UTF-8 is very non-standard and not well-supported (this
test is trying to use `iso-8859-1`).
From http://en.wikipedia.org/wiki/Percent-encoding
> For a non-ASCII character, it is typically converted to its byte sequence in
> UTF-8, and then each byte value is represented as above.
> The generic URI syntax mandates that new URI schemes that provide for the
> representation of character data in a URI must, in effect, represent
> characters from the unreserved set without translation, and should convert
> all other characters to bytes according to UTF-8, and then percent-encode
> those values. This requirement was introduced in January 2005 with the
> publication of RFC 3986
From http://tools.ietf.org/html/rfc3986:
> Non-ASCII characters must first be encoded according to UTF-8 [STD63], and
> then each octet of the corresponding UTF-8 sequence must be percent-encoded
> to be represented as URI characters. URI producing applications must not use
> percent-encoding in host unless it is used to represent a UTF-8 character
> sequence.
From http://tools.ietf.org/html/rfc3987:
> Conversions from URIs to IRIs MUST NOT use any character encoding other than
> UTF-8 in steps 3 and 4, even if it might be possible to guess from the
> context that another character encoding than UTF-8 was used in the URI. For
> example, the URI "http://www.example.org/r%E9sum%E9.html" might with some
> guessing be interpreted to contain two e-acute characters encoded as
> iso-8859-1. It must not be converted to an IRI containing these e-acute
> characters. Otherwise, in the future the IRI will be mapped to
> "http://www.example.org/r%C3%A9sum%C3%A9.html", which is a different URI from
> "http://www.example.org/r%E9sum%E9.html".
See issue #7, which I think this at least partially fixes.
|
|
|
|
| |
Tests when there are two `Host:` headers present.
|
|
|
|
| |
because `mimetools` is deprecated and doesn't work in Python 3.
|
|
|
|
|
|
|
| |
which contains a test for the issue in BB-4, where the WSGI environment has
strings with commas in them that don't belong.
See issue #4.
|
|
|
|
|
| |
On Python 2, html_quote(unicode) returns again bytes to restore backward
compatibility.
|
| |
|
| |
|
|
|
|
|
| |
* Remove unused imports
* Remove unused variables
|
| |
|
| |
|
|
|
|
| |
Now HTTP status 206 is used even if the range is the full content.
|
|
|
|
|
|
|
| |
* Don't compare None with int
* Add __next__() method (alias to next()).
* HTTP body must be bytes
* Don't use string.letters but an hardcoded string to not depend on the locale.
|
| |
|
|
|
|
| |
Reset config after each test
|
|
|
|
| |
On Python 3, encode body to UTF-8
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
HTTP body is bytes
|
|
|
|
| |
HTTP body must be bytes
|
|
|
|
|
| |
* wsgi.input must be a binary file, not a text file
* HTTP body must be bytes
|
|
|
|
|
|
|
|
|
|
|
| |
HTTP body must be bytes. Don't check if __iter__() method to check if content
is a list or tuple, because bytes and str now have this method on Python 3.
Instead, check explicitly for bytes and str types using the six module.
Port wsgiwrappers test to Python 3, fix bytes/unicode issues:
* HTTP body must be bytes
* Filenames are native strings, request ensures that filenames are unicode
|
|
|
|
| |
HTTP body must be bytes
|
|
|
|
|
|
| |
* md5() and hmac expects bytes: on Python 3, encode text to utf-8
* Don't compare None with int
* HTTP body must be bytes
|
|
|
|
| |
HTTP body must be bytes
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
six.iteritems(dict)"
Same change for itervalues().
|
|
|
|
|
| |
* Replace (str, unicode) with (six.binary_type, six.text_type)
* Replace basestring with (six.binary_type, six.text_type)
|
|
|
|
| |
class(args)"
|
| |
|
|
|
|
| |
Use also "from __future__ import print_function".
|
| |
|
| |
|
|
|
|
| |
Use "try/except ImportError" to try Python 2 and Python 3 names.
|
|
|
|
| |
reproduce any actual issue
|
|
|
|
| |
(http://trac.pythonpaste.org/pythonpaste/ticket/189)
|
|
|
|
| |
http://trac.pythonpaste.org/pythonpaste/ticket/123
|