diff options
| author | Tom Christie | 2011-07-01 17:44:08 +0100 |
|---|---|---|
| committer | Tom Christie | 2011-07-01 17:44:08 +0100 |
| commit | f7b7778a79bad4124a6f50bf461f206a6d71fa90 (patch) | |
| tree | 2bd1b84a90dec5724cda3d89b3a9faf5ca298961 /djangorestframework/tests/renderers.py | |
| parent | c3babe751a6bab7c7888f173b7853a65ba2ea35e (diff) | |
| parent | f67c0651baf1cea65221b4fb7f4df11a54abed90 (diff) | |
| download | django-rest-framework-f7b7778a79bad4124a6f50bf461f206a6d71fa90.tar.bz2 | |
pull in markos changes, minor tweaks to yaml stuff
Diffstat (limited to 'djangorestframework/tests/renderers.py')
| -rw-r--r-- | djangorestframework/tests/renderers.py | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/djangorestframework/tests/renderers.py b/djangorestframework/tests/renderers.py index bf135e55..d2046212 100644 --- a/djangorestframework/tests/renderers.py +++ b/djangorestframework/tests/renderers.py @@ -4,8 +4,8 @@ from django.test import TestCase from djangorestframework import status from djangorestframework.compat import View as DjangoView -from djangorestframework.renderers import BaseRenderer, JSONRenderer -from djangorestframework.parsers import JSONParser +from djangorestframework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer +from djangorestframework.parsers import JSONParser, YAMLParser from djangorestframework.mixins import ResponseMixin from djangorestframework.response import Response from djangorestframework.utils.mediatypes import add_media_type_param @@ -189,3 +189,38 @@ class JSONRendererTests(TestCase): content = renderer.render(obj, 'application/json') (data, files) = parser.parse(StringIO(content)) self.assertEquals(obj, data) + + + +if YAMLRenderer: + _yaml_repr = 'foo: [bar, baz]\n' + + + class YAMLRendererTests(TestCase): + """ + Tests specific to the JSON Renderer + """ + + def test_render(self): + """ + Test basic YAML rendering. + """ + obj = {'foo':['bar','baz']} + renderer = YAMLRenderer(None) + content = renderer.render(obj, 'application/yaml') + self.assertEquals(content, _yaml_repr) + + + def test_render_and_parse(self): + """ + Test rendering and then parsing returns the original object. + IE obj -> render -> parse -> obj. + """ + obj = {'foo':['bar','baz']} + + renderer = YAMLRenderer(None) + parser = YAMLParser(None) + + content = renderer.render(obj, 'application/yaml') + (data, files) = parser.parse(StringIO(content)) + self.assertEquals(obj, data)
\ No newline at end of file |
