Implement SingleKey._replace

This commit is contained in:
Kovid Goyal
2022-08-12 09:40:58 +05:30
parent f228f8368a
commit af48547d8b
3 changed files with 39 additions and 6 deletions

View File

@@ -538,9 +538,11 @@ class TestDataTypes(BaseTest):
for m in (GLFW_MOD_NUM_LOCK, GLFW_MOD_SHIFT):
s = SingleKey(mods=m)
self.ae(s.mods, m)
self.ae(tuple(SingleKey()), (0, False, -1))
self.ae(tuple(iter(SingleKey())), (0, False, -1))
self.ae(tuple(SingleKey(key=0x10ffff, mods=GLFW_MOD_SHIFT, is_native=True)), (GLFW_MOD_SHIFT, True, 0x10ffff))
self.ae(repr(SingleKey()), 'SingleKey()')
self.ae(repr(SingleKey(key=23, mods=2, is_native=True)), 'SingleKey(mods=2, is_native=True, key=23)')
self.ae(repr(SingleKey(key=23, mods=2)), 'SingleKey(mods=2, key=23)')
self.ae(repr(SingleKey(key=23)), 'SingleKey(key=23)')
self.ae(repr(SingleKey(key=23)._replace(mods=2)), 'SingleKey(mods=2, key=23)')
self.ae(repr(SingleKey(key=23)._replace(key=-1, mods=2)), 'SingleKey(mods=2)')