File: test_bytebuffer.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (33 lines) | stat: -rw-r--r-- 1,006 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class AppTest(object):
    spaceconfig = dict(usemodules=['__pypy__'])

    def test_bytebuffer(self):
        from __pypy__ import bytebuffer
        b = bytebuffer(12)
        assert len(b) == 12
        b[3] = ord(b'!')
        b[5] = ord(b'?')
        assert b[2:7] == b'\x00!\x00?\x00'
        b[9:] = b'+-*'
        assert b[-1] == ord(b'*')
        assert b[-2] == ord(b'-')
        assert b[-3] == ord(b'+')
        exc = raises(ValueError, "b[3:5] = b'abc'")
        assert str(exc.value) == "cannot modify size of memoryview object"

        b = bytebuffer(10)
        b[1:3] = b'xy'
        assert bytes(b) == b"\x00xy" + b"\x00" * 7
        b[4:8:2] = b'zw'
        assert bytes(b) == b"\x00xy\x00z\x00w" + b"\x00" * 3

    def test_buffer_getslice_empty(self):
        from __pypy__ import bytebuffer
        b = bytebuffer(10)
        assert b[1:0] == b''

    def test_bytebuffer_object(self):
        from __pypy__ import bytebuffer
        b = bytebuffer(10)
        assert b.obj is None