Skip to content

Commit

Permalink
Add tests for the current handling of end markers
Browse files Browse the repository at this point in the history
  • Loading branch information
vung committed Feb 5, 2012
1 parent e48fd25 commit 9ce974f
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions peppercorn/tests.py
Expand Up @@ -146,6 +146,59 @@ def test_deep_nesting(self):
fields = [(START, 'x:' + MAPPING)] * depth + [(END, '')] * depth
self.assertRaises(ParseError, self._callFUT, fields)

def test_spurios_initial_end(self):
from peppercorn import END
fields = [
(END, ''),
('name', 'fred'),
]
result = self._callFUT(fields)
self.assertEqual(result, {})

def test_spurious_intermediary_end(self):
from peppercorn import START, SEQUENCE, END
fields = [
(START, 'names:%s' % SEQUENCE),
('foo', 'fred'),
(END, ''),
(END, ''),
('bar', 'joe'),
('year', '2012'),
]
result = self._callFUT(fields)
self.assertEqual(result, {'names': ['fred']})

def test_spurious_nested_end(self):
from peppercorn import END
fields = self._getFields()
index = fields.index(('month', '12'))
self.assertEqual(index, 7)
fields.insert(7, (END, ''))
fields.insert(7, (END, ''))
fields.insert(7, (END, ''))
result = self._callFUT(fields)
expected = {
'series': {
'dates': [['10']],
'name': 'date series 1'},
'month': '12',
'year': '2008',
'name': 'project1',
'title': 'Cool project'}
self.assertEqual(result, expected)

def test_spurious_final_end(self):
from peppercorn import START, RENAME, END
fields = [
(START, 'names:%s' % RENAME),
('foo', 'fred'),
('bar', 'joe'),
(END, ''),
(END, ''),
]
result = self._callFUT(fields)
self.assertEqual(result, {'names': 'fred'})


def encode_multipart_formdata(fields):
BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$'
Expand Down

0 comments on commit 9ce974f

Please sign in to comment.