# HG changeset patch # User Fredrik Lundh # Date 1257428960 -3600 # Node ID aaf2b609a42ca33569bd66503cde2db45a53b964 # Parent 151ba8fa1084e3bbcb029e2741726e686b8e31dd Test updates. diff -r 151ba8fa1084e3bbcb029e2741726e686b8e31dd -r aaf2b609a42ca33569bd66503cde2db45a53b964 jsontest.py --- a/jsontest.py Thu Nov 05 14:45:34 2009 +0100 +++ b/jsontest.py Thu Nov 05 14:49:20 2009 +0100 @@ -291,6 +291,26 @@ s = cjson.encode([1, 2, 3]) self.assertEqual(unicode("[1,2,3]", "utf-8"), _removeWhitespace(s)) + def testDefaultEncoding(self): + # Get access to default encoding API. + import sys; reload(sys) + encoding = sys.getdefaultencoding() + + campus = u'\u5927\u5b66\u6821\u56ed' + campus_utf8 = campus.encode("utf-8") + campus_raw = campus_utf8.decode("iso-8859-1") + + sys.setdefaultencoding("ascii") + self.assertEqual(cjson.encode(campus_utf8), cjson.encode(campus_raw)) + + sys.setdefaultencoding("iso-8859-1") + self.assertEqual(cjson.encode(campus_utf8), cjson.encode(campus_raw)) + + sys.setdefaultencoding("utf-8") + self.assertEqual(cjson.encode(campus_utf8), cjson.encode(campus)) + + sys.setdefaultencoding(encoding) + def testReadEmptyObjectAtEndOfArray(self): self.assertEqual(["a","b","c",{}], cjson.decode('["a","b","c",{}]')) diff -r 151ba8fa1084e3bbcb029e2741726e686b8e31dd -r aaf2b609a42ca33569bd66503cde2db45a53b964 test_encoding.py --- a/test_encoding.py Thu Nov 05 14:45:34 2009 +0100 +++ b/test_encoding.py Thu Nov 05 14:49:20 2009 +0100 @@ -7,18 +7,19 @@ print encoding campus = u'\u5927\u5b66\u6821\u56ed' +campus_utf8 = campus.encode("utf-8") # ascii tests sys.setdefaultencoding("ascii") print cjson.encode([campus]) -print cjson.encode(["\345\244\247\345\255\246\346\240\241\345\233\255"]) +print cjson.encode([campus_utf8]) sys.setdefaultencoding("iso-8859-1") print cjson.encode([campus]) -print cjson.encode(["\345\244\247\345\255\246\346\240\241\345\233\255"]) +print cjson.encode([campus_utf8]) sys.setdefaultencoding("utf-8") print cjson.encode([campus]) -print cjson.encode(["\345\244\247\345\255\246\346\240\241\345\233\255"]) +print cjson.encode([campus_utf8]) sys.setdefaultencoding(encoding)