Changeset 1955
- Timestamp:
- 04/26/08 20:19:53
- Files:
-
- trunk/cherrypy/lib/xmlrpc.py (modified) (1 diff)
- trunk/cherrypy/test/test_xmlrpc.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/lib/xmlrpc.py
r1638 r1955 37 37 def respond(body, encoding='utf-8', allow_none=0): 38 38 import xmlrpclib 39 _set_response(xmlrpclib.dumps((body,), methodresponse=1, 39 if not isinstance(body, xmlrpclib.Fault): 40 body = (body,) 41 _set_response(xmlrpclib.dumps(body, methodresponse=1, 40 42 encoding=encoding, 41 43 allow_none=allow_none)) trunk/cherrypy/test/test_xmlrpc.py
r1666 r1955 60 60 return num * 2 61 61 test_argument_passing.exposed = True 62 63 def test_returning_Fault(self): 64 return xmlrpclib.Fault(1, "custom Fault response") 65 test_returning_Fault.exposed = True 62 66 63 67 root = Root() … … 154 158 else: 155 159 self.fail("Expected xmlrpclib.Fault") 156 160 157 161 # http://www.cherrypy.org/ticket/533 158 162 # if a method is not found, an xmlrpclib.Fault should be raised … … 164 168 else: 165 169 self.fail("Expected xmlrpclib.Fault") 170 171 # Test returning a Fault from the page handler. 172 try: 173 proxy.test_returning_Fault() 174 except Exception, x: 175 self.assertEqual(x.__class__, xmlrpclib.Fault) 176 self.assertEqual(x.faultString, ("custom Fault response")) 177 else: 178 self.fail("Expected xmlrpclib.Fault") 166 179 167 180

