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 | 
