1
0
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:
Jakub Roztocil
2012-07-24 14:56:53 +02:00
parent 728a1a195b
commit 9944def703
5 changed files with 114 additions and 78 deletions
+10 -17
View File
@@ -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):