diff options
| author | TPReal <tpreal@gmail.com> | 2022-11-26 13:22:34 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2022-12-09 16:47:08 +1100 |
| commit | 002f54ab4edcc334b9641148dde94a6d7673c0fd (patch) | |
| tree | a4bfb44e129013abcff93fb7d4fc845124409bc1 | |
| parent | b042fd5120e5c0b0ef2b5bebf2c00aa12e5a0fb0 (diff) | |
tests/extmod/framebuf_scroll: Add tests for FrameBuffer scrolling.
Includes a currently-failing test of scrolling by at least the size of the
buffer.
| -rw-r--r-- | tests/extmod/framebuf_scroll.py | 45 | ||||
| -rw-r--r-- | tests/extmod/framebuf_scroll.py.exp | 48 |
2 files changed, 93 insertions, 0 deletions
diff --git a/tests/extmod/framebuf_scroll.py b/tests/extmod/framebuf_scroll.py new file mode 100644 index 000000000..db9b6ea1e --- /dev/null +++ b/tests/extmod/framebuf_scroll.py @@ -0,0 +1,45 @@ +try: + import framebuf +except ImportError: + print("SKIP") + raise SystemExit + + +def printbuf(): + print("--8<--") + bytes_per_row = w // 2 + for y in range(h): + for x in range(bytes_per_row): + print("%02x" % buf[(x + y * bytes_per_row)], end="") + print() + print("-->8--") + + +w = 10 +h = 10 +buf = bytearray(w * h // 2) +fbuf = framebuf.FrameBuffer(buf, w, h, framebuf.GS4_HMSB) + + +def prepare_buffer(): + fbuf.fill(0) + fbuf.rect(2, 0, 6, 10, 0x07, True) + fbuf.rect(0, 2, 10, 6, 0x01, True) + + +prepare_buffer() +printbuf() + +fbuf.scroll(5, -1) +printbuf() + +prepare_buffer() +fbuf.scroll(-5, 5) +printbuf() + +prepare_buffer() +# Scrolling by at least the size of buffer, no change to buffer. +fbuf.scroll(15, 7) +fbuf.scroll(10, -1) +fbuf.scroll(1, -10) +printbuf() diff --git a/tests/extmod/framebuf_scroll.py.exp b/tests/extmod/framebuf_scroll.py.exp new file mode 100644 index 000000000..7e99b275d --- /dev/null +++ b/tests/extmod/framebuf_scroll.py.exp @@ -0,0 +1,48 @@ +--8<-- +0077777700 +0077777700 +1111111111 +1111111111 +1111111111 +1111111111 +1111111111 +1111111111 +0077777700 +0077777700 +-->8-- +--8<-- +0077700777 +0077711111 +1111111111 +1111111111 +1111111111 +1111111111 +1111111111 +1111100777 +0077700777 +0077777700 +-->8-- +--8<-- +0077777700 +0077777700 +1111111111 +1111111111 +1111111111 +7770011111 +7770011111 +1111111111 +1111177700 +1111177700 +-->8-- +--8<-- +0077777700 +0077777700 +1111111111 +1111111111 +1111111111 +1111111111 +1111111111 +1111111111 +0077777700 +0077777700 +-->8-- |
