home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2579 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  4.0 KB  |  108 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import unittest
  6. import pywintypes
  7. import win32api
  8.  
  9. class Cycle:
  10.     
  11.     def __init__(self, handle):
  12.         self.cycle = self
  13.         self.handle = handle
  14.  
  15.  
  16.  
  17. class PyHandleTestCase(unittest.TestCase):
  18.     
  19.     def testCleanup1(self):
  20.         
  21.         def f1(invalidate):
  22.             import win32event
  23.             h = win32event.CreateEvent(None, 0, 0, None)
  24.             if invalidate:
  25.                 win32api.CloseHandle(int(h))
  26.             
  27.             1 / 0
  28.  
  29.         
  30.         def f2(invalidate):
  31.             
  32.             try:
  33.                 f1(invalidate)
  34.             except ZeroDivisionError:
  35.                 exc = None
  36.                 raise IOError('raise 2')
  37.  
  38.  
  39.         self.assertRaises(IOError, f2, False)
  40.         self.assertRaises(IOError, f2, True)
  41.  
  42.     
  43.     def testCleanup2(self):
  44.         import win32event
  45.         h = win32event.CreateEvent(None, 0, 0, None)
  46.         win32api.CloseHandle(int(h))
  47.         h = None
  48.  
  49.     
  50.     def testCleanup3(self):
  51.         import win32event
  52.         
  53.         class Test(()):
  54.             
  55.             def __init__(self):
  56.                 self.h = win32event.CreateEvent(None, 0, 0, None)
  57.                 win32api.CloseHandle(int(self.h))
  58.  
  59.  
  60.         t = Test()
  61.         t = None
  62.  
  63.     
  64.     def testCleanupGood(self):
  65.         import win32event
  66.         h = win32event.CreateEvent(None, 0, 0, None)
  67.         win32api.CloseHandle(int(h))
  68.         self.assertRaises(win32api.error, h.Close)
  69.         h.Close()
  70.  
  71.     
  72.     def testInvalid(self):
  73.         h = pywintypes.HANDLE(-2)
  74.         self.assertRaises(win32api.error, h.Close)
  75.  
  76.     
  77.     def testOtherHandle(self):
  78.         h = pywintypes.HANDLE(1)
  79.         h2 = pywintypes.HANDLE(h)
  80.         self.failUnlessEqual(h, h2)
  81.         win32api.GetProcAddress(sys.dllhandle, h)
  82.  
  83.     
  84.     def testLong(self):
  85.         pywintypes.HANDLE(sys.maxint + 1)
  86.  
  87.     
  88.     def testGC(self):
  89.         
  90.         def make():
  91.             h = pywintypes.HANDLE(-2)
  92.             c = Cycle(h)
  93.  
  94.         import gc
  95.         make()
  96.         gc.collect()
  97.  
  98.     
  99.     def testTypes(self):
  100.         self.assertRaises(TypeError, pywintypes.HANDLE, 'foo')
  101.         self.assertRaises(TypeError, pywintypes.HANDLE, ())
  102.         pywintypes.HANDLE(0x0L)
  103.  
  104.  
  105. if __name__ == '__main__':
  106.     unittest.main()
  107.  
  108.