mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-05 03:20:08 +01:00
Add wx.Timer and wx.CallLater
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@69193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
93
unittests/test_timer.py
Normal file
93
unittests/test_timer.py
Normal file
@@ -0,0 +1,93 @@
|
||||
import imp_unittest, unittest
|
||||
import wtc
|
||||
import wx
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
class timer_Tests(wtc.WidgetTestCase):
|
||||
|
||||
def waitFor(self, milliseconds):
|
||||
intervals = milliseconds/100
|
||||
while intervals > 0:
|
||||
wx.MilliSleep(100)
|
||||
self.myYield()
|
||||
if hasattr(self, 'flag') and self.flag:
|
||||
break
|
||||
intervals -= 1
|
||||
|
||||
|
||||
def onTimerEvt(self, *evt):
|
||||
self.flag = True
|
||||
|
||||
|
||||
def test_timerOwner1(self):
|
||||
t = wx.Timer(self.frame)
|
||||
self.flag = False
|
||||
self.frame.Bind(wx.EVT_TIMER, self.onTimerEvt, t)
|
||||
t.Start(250, wx.TIMER_ONE_SHOT)
|
||||
self.waitFor(500)
|
||||
self.assertTrue(self.flag)
|
||||
|
||||
|
||||
def test_timerOwner2(self):
|
||||
t = wx.Timer(self.frame)
|
||||
self.flag = False
|
||||
self.frame.Bind(wx.EVT_TIMER, self.onTimerEvt, t)
|
||||
t.Start(1000, wx.TIMER_ONE_SHOT)
|
||||
# timer will not have expired yet by this time, so flag shouldn't be set
|
||||
self.waitFor(500)
|
||||
self.assertFalse(self.flag)
|
||||
|
||||
|
||||
def test_timerPyTimer(self):
|
||||
t = wx.PyTimer(self.onTimerEvt)
|
||||
self.flag = False
|
||||
t.Start(250, wx.TIMER_ONE_SHOT)
|
||||
self.waitFor(500)
|
||||
self.assertTrue(self.flag)
|
||||
|
||||
|
||||
def test_timerDerivedClass(self):
|
||||
class MyTimer(wx.Timer):
|
||||
def __init__(self):
|
||||
wx.Timer.__init__(self)
|
||||
self.flag = False
|
||||
def Notify(self):
|
||||
self.flag = True
|
||||
|
||||
t = MyTimer()
|
||||
t.Start(250, wx.TIMER_ONE_SHOT)
|
||||
self.waitFor(500)
|
||||
self.assertTrue(t.flag)
|
||||
|
||||
|
||||
def onCallLater(self):
|
||||
self.flag = True
|
||||
return 1234
|
||||
|
||||
def test_timerCallLater1(self):
|
||||
# simple CallLater usage
|
||||
wx.CallLater(250, self.onCallLater)
|
||||
self.waitFor(500)
|
||||
self.assertTrue(self.flag)
|
||||
|
||||
|
||||
def test_timerCallLater2(self):
|
||||
# test getting the result and restarting the CallLater
|
||||
cl = wx.CallLater(250, self.onCallLater)
|
||||
self.assertTrue(cl.IsRunning())
|
||||
self.waitFor(500)
|
||||
self.assertTrue(self.flag)
|
||||
self.assertTrue(cl.GetResult() == 1234)
|
||||
self.flag = False
|
||||
cl.Restart()
|
||||
self.waitFor(500)
|
||||
self.assertTrue(self.flag)
|
||||
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user