diff options
| author | Marko Tibold | 2012-01-13 12:36:02 -0800 |
|---|---|---|
| committer | Marko Tibold | 2012-01-13 12:36:02 -0800 |
| commit | c204101563bce0997e46ad5381d6d410f570b233 (patch) | |
| tree | 99e3ef2b2bd00ac6b5fbf0579f2989f868cdc6cf /djangorestframework/tests/parsers.py | |
| parent | c71b6fb090b7a225869526b1d75d7e850e85c282 (diff) | |
| parent | 21776c0de2eca3d66534817b3f5a258a6fc1fc2f (diff) | |
| download | django-rest-framework-c204101563bce0997e46ad5381d6d410f570b233.tar.bz2 | |
Merge pull request #125 from michelelazzeri-nextage/master
application/xml parser fully compatible with application/xml render
Diffstat (limited to 'djangorestframework/tests/parsers.py')
| -rw-r--r-- | djangorestframework/tests/parsers.py | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/djangorestframework/tests/parsers.py b/djangorestframework/tests/parsers.py index e4e7e09a..5bd4aad3 100644 --- a/djangorestframework/tests/parsers.py +++ b/djangorestframework/tests/parsers.py @@ -156,10 +156,9 @@ class TestFormParser(TestCase): self.assertEqual(Form(data).is_valid(), True) - class TestXMLParser(TestCase): def setUp(self): - self.input = StringIO( + self._input = StringIO( '<?xml version="1.0" encoding="utf-8"?>' '<root>' '<field_a>121.0</field_a>' @@ -168,15 +167,45 @@ class TestXMLParser(TestCase): '<field_d>2011-12-25 12:45:00</field_d>' '</root>' ) - self.data = { + self._data = { 'field_a': 121, 'field_b': 'dasd', 'field_c': None, 'field_d': datetime.datetime(2011, 12, 25, 12, 45, 00) } - + self._complex_data_input = StringIO( + '<?xml version="1.0" encoding="utf-8"?>' + '<root>' + '<creation_date>2011-12-25 12:45:00</creation_date>' + '<sub_data_list>' + '<list-item><sub_id>1</sub_id><sub_name>first</sub_name></list-item>' + '<list-item><sub_id>2</sub_id><sub_name>second</sub_name></list-item>' + '</sub_data_list>' + '<name>name</name>' + '</root>' + ) + self._complex_data = { + "creation_date": datetime.datetime(2011, 12, 25, 12, 45, 00), + "name": "name", + "sub_data_list": [ + { + "sub_id": 1, + "sub_name": "first" + }, + { + "sub_id": 2, + "sub_name": "second" + } + ] + } + def test_parse(self): parser = XMLParser(None) - (data, files) = parser.parse(self.input) - self.assertEqual(data, self.data) + (data, files) = parser.parse(self._input) + self.assertEqual(data, self._data) + + def test_complex_data_parse(self): + parser = XMLParser(None) + (data, files) = parser.parse(self._complex_data_input) + self.assertEqual(data, self._complex_data) |
