Author: Armin Rigo <[email protected]>
Branch:
Changeset: r46146:368b4ab4862f
Date: 2011-07-31 18:37 +0200
http://bitbucket.org/pypy/pypy/changeset/368b4ab4862f/
Log: Test and fix for reset().
diff --git a/pypy/module/_multibytecodec/interp_incremental.py
b/pypy/module/_multibytecodec/interp_incremental.py
--- a/pypy/module/_multibytecodec/interp_incremental.py
+++ b/pypy/module/_multibytecodec/interp_incremental.py
@@ -28,8 +28,8 @@
def _free(self):
self.pending = None
if self.decodebuf:
- pypy_cjk_dec_free(self.decodebuf)
- self.decodebuf = lltype.nullptr(DECODEBUF_P.TO)
+ c_codecs.pypy_cjk_dec_free(self.decodebuf)
+ self.decodebuf = lltype.nullptr(c_codecs.DECODEBUF_P.TO)
def __del__(self):
self._free()
diff --git a/pypy/module/_multibytecodec/test/test_app_incremental.py
b/pypy/module/_multibytecodec/test/test_app_incremental.py
--- a/pypy/module/_multibytecodec/test/test_app_incremental.py
+++ b/pypy/module/_multibytecodec/test/test_app_incremental.py
@@ -49,3 +49,17 @@
assert r == u''
raises(UnicodeDecodeError, d.decode, "~", True)
raises(UnicodeDecodeError, d.decode, "~{a", True)
+
+ def test_decode_hz_reset(self):
+ d = self.IncrementalHzDecoder()
+ r = d.decode("ab")
+ assert r == u'ab'
+ r = d.decode("~{")
+ assert r == u''
+ r = d.decode("ab")
+ assert r == u'\u5f95'
+ r = d.decode("ab")
+ assert r == u'\u5f95'
+ d.reset()
+ r = d.decode("ab")
+ assert r == u'ab'
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit