You've already forked httpie-cli
mirror of
https://github.com/httpie/cli.git
synced 2026-06-20 11:32:56 +02:00
Switched to "==" a the separator for URL params.
Also refactored item escaping.
This commit is contained in:
+10
-17
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf8
|
||||
"""
|
||||
|
||||
@@ -598,7 +599,7 @@ class ExitStatusTest(BaseTestCase):
|
||||
class ItemParsingTest(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.key_value_type = cliparse.KeyValueType(
|
||||
self.key_value_type = cliparse.KeyValueArgType(
|
||||
cliparse.SEP_HEADERS,
|
||||
cliparse.SEP_QUERY,
|
||||
cliparse.SEP_DATA,
|
||||
@@ -613,7 +614,7 @@ class ItemParsingTest(BaseTestCase):
|
||||
lambda: self.key_value_type(item))
|
||||
|
||||
def test_escape(self):
|
||||
headers, data, files, queries = cliparse.parse_items([
|
||||
headers, data, files, params = cliparse.parse_items([
|
||||
# headers
|
||||
self.key_value_type('foo\\:bar:baz'),
|
||||
self.key_value_type('jack\\@jill:hill'),
|
||||
@@ -632,15 +633,15 @@ class ItemParsingTest(BaseTestCase):
|
||||
self.assertIn('bar@baz', files)
|
||||
|
||||
def test_escape_longsep(self):
|
||||
headers, data, files, queries = cliparse.parse_items([
|
||||
headers, data, files, params = cliparse.parse_items([
|
||||
self.key_value_type('bob\\:==foo'),
|
||||
])
|
||||
self.assertDictEqual(data, {
|
||||
'bob:=': 'foo',
|
||||
self.assertDictEqual(params, {
|
||||
'bob:': 'foo',
|
||||
})
|
||||
|
||||
def test_valid_items(self):
|
||||
headers, data, files, queries = cliparse.parse_items([
|
||||
headers, data, files, params = cliparse.parse_items([
|
||||
self.key_value_type('string=value'),
|
||||
self.key_value_type('header:value'),
|
||||
self.key_value_type('list:=["a", 1, {}, false]'),
|
||||
@@ -649,7 +650,7 @@ class ItemParsingTest(BaseTestCase):
|
||||
self.key_value_type('ed='),
|
||||
self.key_value_type('bool:=true'),
|
||||
self.key_value_type('test-file@%s' % TEST_FILE_PATH),
|
||||
self.key_value_type('query=:value'),
|
||||
self.key_value_type('query==value'),
|
||||
])
|
||||
self.assertDictEqual(headers, {
|
||||
'header': 'value',
|
||||
@@ -660,21 +661,13 @@ class ItemParsingTest(BaseTestCase):
|
||||
"string": "value",
|
||||
"bool": True,
|
||||
"list": ["a", 1, {}, False],
|
||||
"obj": {"a": "b"}
|
||||
"obj": {"a": "b"},
|
||||
})
|
||||
self.assertDictEqual(queries, {
|
||||
self.assertDictEqual(params, {
|
||||
'query': 'value',
|
||||
})
|
||||
self.assertIn('test-file', files)
|
||||
|
||||
def test_query_string(self):
|
||||
headers, data, files, queries = cliparse.parse_items([
|
||||
self.key_value_type('query=:value'),
|
||||
])
|
||||
self.assertDictEqual(queries, {
|
||||
'query': 'value',
|
||||
})
|
||||
|
||||
|
||||
class ArgumentParserTestCase(unittest.TestCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user