55 lines
2.1 KiB
Python
Executable File
55 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import json
|
|
import os
|
|
import unittest
|
|
|
|
|
|
class TestMakeTranslation(unittest.TestCase):
|
|
def test_get_bytes_from_font_index(self):
|
|
from make_translation import get_bytes_from_font_index
|
|
|
|
self.assertEqual(get_bytes_from_font_index(2), b"\x02")
|
|
self.assertEqual(get_bytes_from_font_index(239), b"\xEF")
|
|
self.assertEqual(get_bytes_from_font_index(240), b"\xF0")
|
|
self.assertEqual(get_bytes_from_font_index(241), b"\xF1\x01")
|
|
self.assertEqual(get_bytes_from_font_index(495), b"\xF1\xFF")
|
|
self.assertEqual(get_bytes_from_font_index(496), b"\xF2\x01")
|
|
self.assertEqual(get_bytes_from_font_index(750), b"\xF2\xFF")
|
|
self.assertEqual(get_bytes_from_font_index(751), b"\xF3\x01")
|
|
self.assertEqual(get_bytes_from_font_index(0x10 * 0xFF - 15), b"\xFF\xFF")
|
|
with self.assertRaises(ValueError):
|
|
get_bytes_from_font_index(0x10 * 0xFF - 14)
|
|
|
|
def test_bytes_to_escaped(self):
|
|
from make_translation import bytes_to_escaped
|
|
|
|
self.assertEqual(bytes_to_escaped(b"\x00"), "\\x00")
|
|
self.assertEqual(bytes_to_escaped(b"\xF1\xAB"), "\\xF1\\xAB")
|
|
|
|
def test_bytes_to_c_hex(self):
|
|
from make_translation import bytes_to_c_hex
|
|
|
|
self.assertEqual(bytes_to_c_hex(b"\x00"), "0x00,")
|
|
self.assertEqual(bytes_to_c_hex(b"\xF1\xAB"), "0xF1, 0xAB,")
|
|
|
|
def test_no_language_id_collisions(self):
|
|
"""
|
|
Asserting that we have no language collisions and that the has works ok
|
|
"""
|
|
from make_translation import get_language_unqiue_id
|
|
|
|
seen_ids = []
|
|
for filename in os.listdir("."):
|
|
if filename.endswith(".json") and filename.startswith("translation_"):
|
|
with open(filename) as f:
|
|
data = json.loads(f.read())
|
|
lang_code = data.get("languageCode")
|
|
self.assertNotEqual(lang_code, None)
|
|
id = get_language_unqiue_id(lang_code)
|
|
self.assertFalse(id in seen_ids)
|
|
seen_ids.append(id)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|