Author: Armin Rigo <ar...@tunes.org>
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
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to