Synonyms: connect/disconnect for events to get closer to PyQt5

This commit is contained in:
Matthias Koefferlein
2023-03-06 23:04:55 +01:00
parent 1b3e8e14c5
commit 9cfc284b8c
4 changed files with 97 additions and 2 deletions
+46 -1
View File
@@ -1400,10 +1400,55 @@ class BasicTest(unittest.TestCase):
def f4():
n[0] = n[0] + 2
n[0] = 0
e.e0(f4)
e.s1()
self.assertEqual( 4, n[0] )
self.assertEqual( 2, n[0] )
# remove event handler -> no events triggered anymore
n[0] = 0
e.e0 -= f4
e.s1()
self.assertEqual( 0, n[0] )
# adding again will re-activate it
e.e0 += f4
n[0] = 0
e.s1()
self.assertEqual( 2, n[0] )
# two events at once
def f5():
n[0] = n[0] + 10
n[0] = 0
e.e0 += f5
e.s1()
self.assertEqual( 12, n[0] )
# clearing events
e.e0.clear()
e.s1()
n[0] = 0
self.assertEqual( 0, n[0] )
# synonyms: add, connect
e.e0.add(f4)
e.e0.connect(f5)
n[0] = 0
e.s1()
self.assertEqual( 12, n[0] )
# synonyms: remove, disconnect
e.e0.disconnect(f4)
n[0] = 0
e.s1()
self.assertEqual( 10, n[0] )
n[0] = 0
e.e0.remove(f5)
e.s1()
self.assertEqual( 0, n[0] )
# another signal
e.s2()
self.assertEqual( 100, n[1] )
e.m = 1