Author: Jeremy Thurgood <fir...@gmail.com> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit