[pypy-commit] pypy unicode-utf8-py3: replace py.skip with py.mark.skip to unskip module, fix tests

mattip pypy.commits at gmail.com
Thu Nov 29 12:21:25 EST 2018


Author: Matti Picus <matti.picus at gmail.com>
Branch: unicode-utf8-py3
Changeset: r95387:24265ff12831
Date: 2018-11-29 09:20 -0800
http://bitbucket.org/pypy/pypy/changeset/24265ff12831/

Log:	replace py.skip with py.mark.skip to unskip module, fix tests

diff --git a/pypy/interpreter/test/test_unicodehelper.py b/pypy/interpreter/test/test_unicodehelper.py
--- a/pypy/interpreter/test/test_unicodehelper.py
+++ b/pypy/interpreter/test/test_unicodehelper.py
@@ -19,9 +19,11 @@
             raise Hit
         raise AttributeError(name)
 
+def fake_eh(errors, encoding, msg, u, startingpos, endingpos):
+    raise Hit()
 
 def decode_utf8(u):
-    return str_decode_utf8(u, "strict", True, None)
+    return str_decode_utf8(u, "strict", True, fake_eh)
 
 def test_encode_utf8():
     space = FakeSpace()
@@ -52,22 +54,22 @@
 
 def test_decode_utf8():
     assert decode_utf8("abc") == ("abc", 3, 3)
-    assert decode_utf8("\xe1\x88\xb4") == ("\xe1\x88\xb4", 3, 1)
-    assert decode_utf8("\xed\xa0\x80") == ("\xed\xa0\x80", 3, 1)
+    assert decode_utf8("\xe1\x88\xb4") == ("\xe1\x88\xb4", 1, 3)
     py.test.raises(Hit, decode_utf8, "\xed\xa0\x80")
     py.test.raises(Hit, decode_utf8, "\xed\xb0\x80")
     py.test.raises(Hit, decode_utf8, "\xed\xa0\x80\xed\xb0\x80")
     got = decode_utf8("\xf0\x90\x80\x80")
     if sys.maxunicode > 65535:
-        assert map(ord, got) == [0x10000]
+        assert got == ("\xf0\x90\x80\x80", 1, 4)
     else:
+        # never reached
         assert map(ord, got) == [55296, 56320]
 
 def test_utf8_encode_ascii():
     assert utf8_encode_ascii("abc", "??", "??") == "abc"
     def eh(errors, encoding, reason, p, start, end):
         lst.append((errors, encoding, p, start, end))
-        return "<FOO>", end
+        return "<FOO>", end, 'b'
     lst = []
     input = u"\u1234".encode("utf8")
     assert utf8_encode_ascii(input, "??", eh) == "<FOO>"
@@ -78,7 +80,7 @@
     assert lst == [("??", "ascii", input, 0, 2),
                    ("??", "ascii", input, 5, 7)]
 
- at pytest.skip("rework this test for utf8")
+ at pytest.mark.skip("rework this test for utf8")
 def test_decode_utf8_allow_surrogates():
     sp = FakeSpace()
     assert decode_utf8(sp, "\xed\xa0\x80", allow_surrogates=True) == u"\ud800"
@@ -88,7 +90,7 @@
     got = decode_utf8(sp, "\xf0\x90\x80\x80", allow_surrogates=True)
     assert map(ord, got) == [0x10000]
 
- at pytest.skip("rework this test for utf8")
+ at pytest.mark.skip("rework this test for utf8")
 def test_decode_utf8sp():
     space = FakeSpace()
     assert decode_utf8sp(space, "\xed\xa0\x80") == u"\ud800"
@@ -98,7 +100,7 @@
     got = decode_utf8sp(space, "\xf0\x90\x80\x80")
     assert map(ord, got) == [0x10000]
 
- at pytest.skip("test has non-valid errorhandler")
+ at pytest.mark.skip("test has non-valid errorhandler")
 @pytest.mark.parametrize('unich', [u"\ud800", u"\udc80"])
 def test_utf32_surrogates(unich):
     assert (utf8_encode_utf_32_be(unich.encode('utf-8'), None) ==
@@ -132,23 +134,23 @@
 @given(strategies.text())
 def test_utf8_encode_ascii_2(u):
     def eh(errors, encoding, reason, p, start, end):
-        return "?" * (end - start), end
+        return "?" * (end - start), end, 'b'
     assert utf8_encode_ascii(u.encode("utf8"), "replace", eh) == u.encode("ascii", "replace")
 
 def test_str_decode_ascii():
     assert str_decode_ascii("abc", "??", True, "??") == ("abc", 3, 3)
     def eh(errors, encoding, reason, p, start, end):
         lst.append((errors, encoding, p, start, end))
-        return u"\u1234\u5678".encode("utf8"), end
+        return u"\u1234\u5678".encode("utf8"), end, 'u'
     lst = []
     input = "\xe8"
     exp = u"\u1234\u5678".encode("utf8")
-    assert str_decode_ascii(input, "??", True, eh) == (exp, 1, 2)
+    assert str_decode_ascii(input, "??", True, eh) == (exp, 2, 2)
     assert lst == [("??", "ascii", input, 0, 1)]
     lst = []
     input = "\xe8\xe9abc\xea\xeb"
     assert str_decode_ascii(input, "??", True, eh) == (
-        exp + exp + "abc" + exp + exp, 7, 11)
+        exp + exp + "abc" + exp + exp, 11, 11)
     assert lst == [("??", "ascii", input, 0, 1),
                    ("??", "ascii", input, 1, 2),
                    ("??", "ascii", input, 5, 6),


More information about the pypy-commit mailing list