* Impl. sectioned font table in firmware * make_translation.py: Extract build_symbol_conversion_table function * Put translation indices and strings in a struct * Move translation objcopy step to Python * Impl. multi-language firmware demo * Impl. strings-compressed multi-lang firmware demo * Add font compression to multi-lang demo * Refactor Makefile a bit * Fix rules for make < 4.3 * Add more multi-lang groups * Add Pinecil multi-lang CI build * Add lzfx compression license text * Remote multi-language demo group * Fix build after merge * Import code from BriefLZ * Change brieflz for our use case * Change compression to use brieflz * Remove lzfx code * Update license file for brieflz * Exclude brieflz files from format check * Add BriefLZ test
25 lines
916 B
Python
25 lines
916 B
Python
#!/usr/bin/env python3
|
|
import brieflz
|
|
import unittest
|
|
|
|
|
|
TEST_DATA = (
|
|
b"Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
|
|
b"Ut consequat mattis orci ac laoreet. Duis ac turpis tempus, varius lacus non, dignissim lectus. "
|
|
b"Curabitur quis metus luctus, sollicitudin ipsum at, dictum metus. "
|
|
b"Cras sed est nec ex tempor tincidunt in at ante. Vivamus laoreet urna eget lectus euismod feugiat. "
|
|
b"Duis a massa ac metus pellentesque interdum. Nunc congue, est faucibus convallis commodo, justo nibh sagittis augue, sed tristique urna neque vitae urna. "
|
|
b"Donec quis orci et purus imperdiet sollicitudin."
|
|
)
|
|
|
|
|
|
class TestBriefLZ(unittest.TestCase):
|
|
def test_roundtrip(self):
|
|
packed = brieflz.compress(TEST_DATA)
|
|
depacked = brieflz.depack_srcsize(packed, len(TEST_DATA))
|
|
self.assertEqual(depacked, TEST_DATA)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|