Apply patch from Ray Allen for issue 9296

This commit is contained in:
Doug Hellmann 2010-07-21 12:29:04 +00:00
parent 6dfbff3ff3
commit 1c524754f6
2 changed files with 10 additions and 1 deletions

View File

@ -74,3 +74,12 @@ class TestFail(TestCase):
pass
else:
self.fail("Expected failure for fail{0}.json: {1!r}".format(idx, doc))
def test_non_string_keys_dict(self):
data = {'a' : 1, (1, 2) : 2}
#This is for c encoder
self.assertRaises(TypeError, json.dumps, data)
#This is for python encoder
self.assertRaises(TypeError, json.dumps, data, indent=True)

View File

@ -1454,7 +1454,7 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
}
else {
/* TODO: include repr of key */
PyErr_SetString(PyExc_ValueError, "keys must be a string");
PyErr_SetString(PyExc_TypeError, "keys must be a string");
goto bail;
}