          renderer = XMLRenderer(None)
          content = StringIO(renderer.render(self._complex_data, 'application/xml'))
  
          parser = XMLParser()
          complex_data_out, dummy = parser.parse(content)
          error_msg = "complex data differs!IN:\n %s \n\n OUT:\n %s" % (repr(self._complex_data), repr(complex_data_out))
          self.assertEqual(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>'))
 
</s> remove             (data, files) = parser.parse(StringIO(content))
 </s> add             data = parser.parse(StringIO(content)) </s> remove         (data, files) = parser.parse(self._input)
 </s> add         data = parser.parse(self._input) </s> remove         (data, files) = parser.parse(self._complex_data_input)
 </s> add         data = parser.parse(self._complex_data_input) </s> remove             return parser.parse()
 </s> add             data, files = parser.parse()
            return DataAndFiles(data, files) </s> remove         (data, files) = parser.parse(stream)
 </s> add         data = parser.parse(stream)
        complex_data_out = parser.parse(content)
          renderer = XMLRenderer(None)
          content = StringIO(renderer.render(self._complex_data, 'application/xml'))
  
          parser = XMLParser()
        complex_data_out = parser.parse(content)
          error_msg = "complex data differs!IN:\n %s \n\n OUT:\n %s" % (repr(self._complex_data), repr(complex_data_out))
          self.assertEqual(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>'))
keep keep keep keep replace keep keep keep keep keep
 Parsers may return raw data, or a DataAndFiles object 
djangorestframework/tests/renderers.py