mirror of
https://github.com/httpie/cli.git
synced 2024-11-29 11:13:28 +01:00
4f1c9441c5
* 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>
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
"""Test data"""
|
|
from pathlib import Path
|
|
|
|
from httpie.encoding import UTF8
|
|
from httpie.output.formatters.xml import pretty_xml, parse_xml
|
|
|
|
|
|
def patharg(path):
|
|
"""
|
|
Back slashes need to be escaped in ITEM args,
|
|
even in Windows paths.
|
|
|
|
"""
|
|
return str(path).replace('\\', '\\\\\\')
|
|
|
|
|
|
FIXTURES_ROOT = Path(__file__).parent
|
|
FILE_PATH = FIXTURES_ROOT / 'test.txt'
|
|
JSON_FILE_PATH = FIXTURES_ROOT / 'test.json'
|
|
JSON_WITH_DUPE_KEYS_FILE_PATH = FIXTURES_ROOT / 'test_with_dupe_keys.json'
|
|
BIN_FILE_PATH = FIXTURES_ROOT / 'test.bin'
|
|
XML_FILES_PATH = FIXTURES_ROOT / 'xmldata'
|
|
XML_FILES_VALID = list((XML_FILES_PATH / 'valid').glob('*_raw.xml'))
|
|
XML_FILES_INVALID = list((XML_FILES_PATH / 'invalid').glob('*.xml'))
|
|
|
|
FILE_PATH_ARG = patharg(FILE_PATH)
|
|
BIN_FILE_PATH_ARG = patharg(BIN_FILE_PATH)
|
|
JSON_FILE_PATH_ARG = patharg(JSON_FILE_PATH)
|
|
|
|
# Strip because we don't want new lines in the data so that we can
|
|
# easily count occurrences also when embedded in JSON (where the new
|
|
# line would be escaped).
|
|
FILE_CONTENT = FILE_PATH.read_text(encoding=UTF8).strip()
|
|
|
|
|
|
JSON_FILE_CONTENT = JSON_FILE_PATH.read_text(encoding=UTF8)
|
|
BIN_FILE_CONTENT = BIN_FILE_PATH.read_bytes()
|
|
UNICODE = FILE_CONTENT
|
|
XML_DATA_RAW = '<?xml version="1.0" encoding="utf-8"?><root><e>text</e></root>'
|
|
XML_DATA_FORMATTED = pretty_xml(parse_xml(XML_DATA_RAW))
|