Go to the documentation of this file.00001 
00002 
00003 
00004 from __future__ import absolute_import, division, with_statement
00005 import datetime
00006 import unittest
00007 import time
00008 
00009 from tornado.testing import AsyncTestCase, LogTrapTestCase
00010 
00011 
00012 class TestIOLoop(AsyncTestCase, LogTrapTestCase):
00013     def test_add_callback_wakeup(self):
00014         
00015         
00016         def callback():
00017             self.called = True
00018             self.stop()
00019 
00020         def schedule_callback():
00021             self.called = False
00022             self.io_loop.add_callback(callback)
00023             
00024             self.start_time = time.time()
00025         self.io_loop.add_timeout(time.time(), schedule_callback)
00026         self.wait()
00027         self.assertAlmostEqual(time.time(), self.start_time, places=2)
00028         self.assertTrue(self.called)
00029 
00030     def test_add_timeout_timedelta(self):
00031         self.io_loop.add_timeout(datetime.timedelta(microseconds=1), self.stop)
00032         self.wait()
00033 
00034 if __name__ == "__main__":
00035     unittest.main()