Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r590:1a023858061f Date: 2012-07-07 14:27 +0200 http://bitbucket.org/cffi/cffi/changeset/1a023858061f/
Log: Add a test diff --git a/c/test_c.py b/c/test_c.py --- a/c/test_c.py +++ b/c/test_c.py @@ -1356,3 +1356,24 @@ assert (p < s) is (p <= s) is (s > p) is (s >= p) assert (p > s) is (p >= s) is (s < p) is (s <= p) assert (p < s) ^ (p > s) + +def test_buffer(): + BChar = new_primitive_type("char") + BCharArray = new_array_type(new_pointer_type(BChar), None) + c = newp(BCharArray, "hi there") + buf = buffer(c) + assert str(buf) == "hi there\x00" + assert len(buf) == len("hi there\x00") + assert buf[0] == 'h' + assert buf[2] == ' ' + assert list(buf) == ['h', 'i', ' ', 't', 'h', 'e', 'r', 'e', '\x00'] + buf[2] = '-' + assert c[2] == '-' + assert str(buf) == "hi-there\x00" + buf[:2] = 'HI' + assert str(c) == 'HI-there' + assert buf[:4:2] == 'H-' + if '__pypy__' not in sys.builtin_module_names: + # XXX pypy doesn't support the following assignment so far + buf[:4:2] = 'XY' + assert str(c) == 'XIYthere' _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit