forked from extern/httpie-cli
Fix encoding error with non-prettified encoded responses (#1168)
* Fix encoding error with non-prettified encoded responses
Removed `--format-option response.as` an promote `--response-as`: using
the format option would be misleading as it is now also used by non-prettified
responses.
* Encoding refactoring
* split --response-as into --response-mime and --response-charset
* add support for Content-Type charset for requests printed to terminal
* add support charset detection for requests printed to terminal without a Content-Type charset
* etc.
* `test_unicode.py` → `test_encoding.py`
* Drop sequence length check
* Clean-up tests
* [skip ci] Tweaks
* Use the compatible release clause for `charset_normalizer` requirement
Cf. https://www.python.org/dev/peps/pep-0440/#version-specifiers
* Clean-up
* Partially revert d52a4833e4
* Changelog
* Tweak tests
* [skip ci] Better test name
* Cleanup tests and add request body charset detection
* More test suite cleanups
* Cleanup
* Fix code style in test
* Improve detect_encoding() docstring
* Uniformize pytest.mark.parametrize() calls
* [skip ci] Comment out TODOs (will be tackled in a specific PR)
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
This commit is contained in:
committed by
GitHub
parent
7989e438d2
commit
4f1c9441c5
@ -41,8 +41,19 @@ def test_max_headers_no_limit(httpbin_both):
|
||||
assert HTTP_OK in http('--max-headers=0', httpbin_both + '/get')
|
||||
|
||||
|
||||
def test_charset_argument_unknown_encoding(httpbin_both):
|
||||
with raises(LookupError) as e:
|
||||
http('--response-as', 'charset=foobar',
|
||||
'GET', httpbin_both + '/get')
|
||||
assert 'unknown encoding: foobar' in str(e.value)
|
||||
def test_response_charset_option_unknown_encoding(httpbin_both):
|
||||
r = http(
|
||||
'--response-charset=foobar',
|
||||
httpbin_both + '/get',
|
||||
tolerate_error_exit_status=True,
|
||||
)
|
||||
assert "'foobar' is not a supported encoding" in r.stderr
|
||||
|
||||
|
||||
def test_response_mime_option_invalid_mime_type(httpbin_both):
|
||||
r = http(
|
||||
'--response-mime=foobar',
|
||||
httpbin_both + '/get',
|
||||
tolerate_error_exit_status=True,
|
||||
)
|
||||
assert "'foobar' doesn’t look like a mime type" in r.stderr
|
||||
|
Reference in New Issue
Block a user