1"""Test data"""
2from pathlib import Path
3
4from httpie.encoding import UTF8
5from httpie.output.formatters.xml import pretty_xml, parse_xml
6
7
8def patharg(path):
9    """
10    Back slashes need to be escaped in ITEM args,
11    even in Windows paths.
12
13    """
14    return str(path).replace('\\', '\\\\\\')
15
16
17FIXTURES_ROOT = Path(__file__).parent
18FILE_PATH = FIXTURES_ROOT / 'test.txt'
19JSON_FILE_PATH = FIXTURES_ROOT / 'test.json'
20JSON_WITH_DUPE_KEYS_FILE_PATH = FIXTURES_ROOT / 'test_with_dupe_keys.json'
21BIN_FILE_PATH = FIXTURES_ROOT / 'test.bin'
22XML_FILES_PATH = FIXTURES_ROOT / 'xmldata'
23XML_FILES_VALID = list((XML_FILES_PATH / 'valid').glob('*_raw.xml'))
24XML_FILES_INVALID = list((XML_FILES_PATH / 'invalid').glob('*.xml'))
25
26FILE_PATH_ARG = patharg(FILE_PATH)
27BIN_FILE_PATH_ARG = patharg(BIN_FILE_PATH)
28JSON_FILE_PATH_ARG = patharg(JSON_FILE_PATH)
29
30# Strip because we don't want new lines in the data so that we can
31# easily count occurrences also when embedded in JSON (where the new
32# line would be escaped).
33FILE_CONTENT = FILE_PATH.read_text(encoding=UTF8).strip()
34
35
36JSON_FILE_CONTENT = JSON_FILE_PATH.read_text(encoding=UTF8)
37BIN_FILE_CONTENT = BIN_FILE_PATH.read_bytes()
38UNICODE = FILE_CONTENT
39XML_DATA_RAW = '<?xml version="1.0" encoding="utf-8"?><root><e>text</e></root>'
40XML_DATA_FORMATTED = pretty_xml(parse_xml(XML_DATA_RAW))
41