diff options
| author | Michele Lazzeri | 2012-01-13 10:11:34 +0100 |
|---|---|---|
| committer | Michele Lazzeri | 2012-01-13 10:11:34 +0100 |
| commit | 21776c0de2eca3d66534817b3f5a258a6fc1fc2f (patch) | |
| tree | 99e3ef2b2bd00ac6b5fbf0579f2989f868cdc6cf /djangorestframework/tests/renderers.py | |
| parent | 1bec6f2d5ed3d27b39ef543e0e4afb23678cfe4b (diff) | |
| download | django-rest-framework-21776c0de2eca3d66534817b3f5a258a6fc1fc2f.tar.bz2 | |
split renderer and parser complex data test case
Diffstat (limited to 'djangorestframework/tests/renderers.py')
| -rw-r--r-- | djangorestframework/tests/renderers.py | 137 |
1 files changed, 29 insertions, 108 deletions
diff --git a/djangorestframework/tests/renderers.py b/djangorestframework/tests/renderers.py index d000df27..142791e4 100644 --- a/djangorestframework/tests/renderers.py +++ b/djangorestframework/tests/renderers.py @@ -283,72 +283,6 @@ if YAMLRenderer: self.assertEquals(obj, data) -class XMLRendererTestCase(TestCase): - """ - Tests specific to the XML Renderer - """ - - def test_render_string(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({'field': 'astring'}, 'application/xml') - self.assertXMLContains(content, '<field>astring</field>') - - def test_render_integer(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({'field': 111}, 'application/xml') - self.assertXMLContains(content, '<field>111</field>') - - def test_render_datetime(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({ - 'field': datetime.datetime(2011, 12, 25, 12, 45, 00) - }, 'application/xml') - self.assertXMLContains(content, '<field>2011-12-25 12:45:00</field>') - - def test_render_float(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({'field': 123.4}, 'application/xml') - self.assertXMLContains(content, '<field>123.4</field>') - - def test_render_decimal(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({'field': Decimal('111.2')}, 'application/xml') - self.assertXMLContains(content, '<field>111.2</field>') - - def test_render_none(self): - """ - Test XML rendering. - """ - renderer = XMLRenderer(None) - content = renderer.render({'field': None}, 'application/xml') - self.assertXMLContains(content, '<field></field>') - - def assertXMLContains(self, xml, string): - self.assertTrue(xml.startswith('<?xml version="1.0" encoding="utf-8"?>\n<root>')) - self.assertTrue(xml.endswith('</root>')) - self.assertTrue(string in xml, '%r not in %r' % (string, xml)) - -class HTMLView(View): - renderers = (DocumentingHTMLRenderer) - - def get(self, request, **kwargs): - return 'text' - urlpatterns += patterns('', url(r'^/html$', HTMLView.as_view()), ) @@ -429,6 +363,21 @@ class XMLRendererTestCase(TestCase): Tests specific to the XML Renderer """ + _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_render_string(self): """ Test XML rendering. @@ -478,57 +427,29 @@ class XMLRendererTestCase(TestCase): renderer = XMLRenderer(None) content = renderer.render({'field': None}, 'application/xml') self.assertXMLContains(content, '<field></field>') + + def test_render_complex_data(self): + """ + Test XML rendering. + """ + renderer = XMLRenderer(None) + content = renderer.render(self._complex_data, 'application/xml') + self.assertXMLContains(content, '<sub_name>first</sub_name>') + self.assertXMLContains(content, '<sub_name>second</sub_name>') def test_render_and_parse_complex_data(self): """ Test XML rendering. """ - renderer = XMLRenderer(None) - complex_data_in = { - "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" - } - ] - } - - content = StringIO(renderer.render(complex_data_in, 'application/xml')) + renderer = XMLRenderer(None) + content = StringIO(renderer.render(self._complex_data, 'application/xml')) parser = XMLParser(None) complex_data_out, dummy = parser.parse(content) - error_msg = "complex data differs!IN:\n %s \n\n OUT:\n %s" % (repr(complex_data_in), repr(complex_data_out)) - self.assertDictEqual(complex_data_in, complex_data_out, error_msg) + error_msg = "complex data differs!IN:\n %s \n\n OUT:\n %s" % (repr(self._complex_data), repr(complex_data_out)) + self.assertDictEqual(self._complex_data, complex_data_out, error_msg) def assertXMLContains(self, xml, string): self.assertTrue(xml.startswith('<?xml version="1.0" encoding="utf-8"?>\n<root>')) self.assertTrue(xml.endswith('</root>')) - self.assertTrue(string in xml, '%r not in %r' % (string, xml)) - - - -class Issue122Tests(TestCase): - """ - Tests that covers #122. - """ - - urls = 'djangorestframework.tests.renderers' - - def test_only_html_renderer(self): - """ - Test if no recursion occurs. - """ - resp = self.client.get('/html') - - def test_html_renderer_is_first(self): - """ - Test if no recursion occurs. - """ - resp = self.client.get('/html1') - + self.assertTrue(string in xml, '%r not in %r' % (string, xml))
\ No newline at end of file |
