Author: Jeremy Thurgood <[email protected]>
Branch:
Changeset: r83013:bb73b1e0ef9f
Date: 2016-03-13 18:57 +0200
http://bitbucket.org/pypy/pypy/changeset/bb73b1e0ef9f/
Log: Hypothesis test for rlib.runicode.
diff --git a/rpython/rlib/test/test_runicode.py
b/rpython/rlib/test/test_runicode.py
--- a/rpython/rlib/test/test_runicode.py
+++ b/rpython/rlib/test/test_runicode.py
@@ -4,6 +4,8 @@
import sys, random
from rpython.rlib import runicode
+from hypothesis import given, settings, strategies
+
def test_unichr():
assert runicode.UNICHR(0xffff) == u'\uffff'
@@ -172,6 +174,17 @@
"utf-32 utf-32-be utf-32-le").split():
self.checkdecode(uni, encoding)
+ # Same as above, but uses Hypothesis to generate non-surrogate unicode
+ # characters.
+ @settings(max_examples=10000)
+ @given(strategies.characters(blacklist_categories=["Cs"]))
+ def test_random_hypothesis(self, uni):
+ if sys.version >= "2.7":
+ self.checkdecode(uni, "utf-7")
+ for encoding in ("utf-8 utf-16 utf-16-be utf-16-le "
+ "utf-32 utf-32-be utf-32-le").split():
+ self.checkdecode(uni, encoding)
+
def test_maxunicode(self):
uni = unichr(sys.maxunicode)
if sys.version >= "2.7":
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit