From 2dfbd7d99852f45b1d130ba8e1987e8772ad104b Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Aug 25 2017 20:48:02 +0000 Subject: another unit test --- diff --git a/tests/test_lib/test_xmlrpcplus.py b/tests/test_lib/test_xmlrpcplus.py index d831e45..f5726ba 100644 --- a/tests/test_lib/test_xmlrpcplus.py +++ b/tests/test_lib/test_xmlrpcplus.py @@ -144,6 +144,28 @@ class TestDump(unittest.TestCase): self.assertEqual(params, value) self.assertEqual(method, None) + def test_no_i8(self): + # we shouldn't use i8 if we don't have to + data = [ + 23, + 42, + -1024, + 2 ** 31 - 1, + -2 ** 31, + [2**31 -1], + {"a": -2 ** 31, "b": 3.14}, + ] + for value in data: + value = (value,) + enc = xmlrpcplus.dumps(value, methodresponse=1, encoding='us-ascii') + _enc = xmlrpc_client.dumps(value, methodresponse=1, allow_none=1, encoding='us-ascii') + if 'i8' in enc or 'I8' in enc: + raise Exception('i8 used unnecessarily') + self.assertEqual(enc, _enc) + params, method = xmlrpc_client.loads(enc) + self.assertEqual(params, value) + self.assertEqual(method, None) + class MyMarshaller(xmlrpcplus.ExtendedMarshaller):