summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_xmlrpc.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index 7fcfd8d..7934bc5 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -1,9 +1,12 @@
+import sys
import test_support
import unittest
import xmlrpclib
alist = [{'astring': 'foo@bar.baz.spam',
'afloat': 7283.43,
+ 'anint': 2**20,
+ 'ashortlong': 2L,
'anotherlist': ['.zyx.41'],
'abase64': xmlrpclib.Binary("my dog has fleas"),
'boolean': xmlrpclib.False,
@@ -15,6 +18,17 @@ class XMLRPCTestCase(unittest.TestCase):
self.assertEquals(alist,
xmlrpclib.loads(xmlrpclib.dumps((alist,)))[0][0])
+ def test_dump_big_long(self):
+ self.assertRaises(OverflowError, xmlrpclib.dumps, (2L**99,))
+
+ def test_dump_bad_dict(self):
+ self.assertRaises(TypeError, xmlrpclib.dumps, ({(1,2,3): 1},))
+
+ def test_dump_big_int(self):
+ if sys.maxint > 2L**31-1:
+ self.assertRaises(OverflowError, xmlrpclib.dumps,
+ (int(2L**34),))
+
def test_main():
test_support.run_unittest(XMLRPCTestCase)