Simplify streaming base64 decoder by using the streaming API of libbase64

This commit is contained in:
Kovid Goyal
2024-07-29 20:08:28 +05:30
parent eb1bb493a7
commit 4ba9fcaf37
4 changed files with 21 additions and 57 deletions

View File

@@ -10,14 +10,17 @@ from . import BaseTest
class TestClipboard(BaseTest):
def test_clipboard_write_request(self):
wr = WriteRequest(max_size=64)
wr.add_base64_data('bGlnaHQgd29yaw')
self.ae(bytes(wr.current_leftover_bytes), b'aw')
wr.flush_base64_data()
self.ae(wr.data_for(), b'light work')
wr = WriteRequest(max_size=64)
wr.add_base64_data('bGlnaHQgd29yaw==')
self.ae(wr.data_for(), b'light work')
def t(data, expected):
wr = WriteRequest(max_size=64)
wr.add_base64_data(data)
self.ae(wr.data_for(), expected)
t('dGl0bGU=', b'title')
t('dGl0bGU', b'title')
t('dGl0bG', b'titl')
t('dGl0bG==', b'titl')
t('dGl0b', b'tit')
t('bGlnaHQgd29yaw', b'light work')
t('bGlnaHQgd29yaw==', b'light work')
wr = WriteRequest(max_size=64)
wr.add_base64_data('bGlnaHQgd29')
for x in b'y', b'a', b'y', b'4', b'=':