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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. import unittest
  6. from ctypes import *
  7.  
  8. class MemFunctionsTest(unittest.TestCase):
  9.     
  10.     def test_memmove(self):
  11.         a = create_string_buffer(1000000)
  12.         p = 'Hello, World'
  13.         result = memmove(a, p, len(p))
  14.         self.failUnlessEqual(a.value, 'Hello, World')
  15.         self.failUnlessEqual(string_at(result), 'Hello, World')
  16.         self.failUnlessEqual(string_at(result, 5), 'Hello')
  17.         self.failUnlessEqual(string_at(result, 16), 'Hello, World\x00\x00\x00\x00')
  18.         self.failUnlessEqual(string_at(result, 0), '')
  19.  
  20.     
  21.     def test_memset(self):
  22.         a = create_string_buffer(1000000)
  23.         result = memset(a, ord('x'), 16)
  24.         self.failUnlessEqual(a.value, 'xxxxxxxxxxxxxxxx')
  25.         self.failUnlessEqual(string_at(result), 'xxxxxxxxxxxxxxxx')
  26.         self.failUnlessEqual(string_at(a), 'xxxxxxxxxxxxxxxx')
  27.         self.failUnlessEqual(string_at(a, 20), 'xxxxxxxxxxxxxxxx\x00\x00\x00\x00')
  28.  
  29.     
  30.     def test_cast(self):
  31.         a = c_ubyte * 32(*map(ord, 'abcdef'))
  32.         self.failUnlessEqual(cast(a, c_char_p).value, 'abcdef')
  33.         self.failUnlessEqual(cast(a, POINTER(c_byte))[:7], [
  34.             97,
  35.             98,
  36.             99,
  37.             100,
  38.             101,
  39.             102,
  40.             0])
  41.         self.failUnlessEqual(cast(a, POINTER(c_byte))[:7:], [
  42.             97,
  43.             98,
  44.             99,
  45.             100,
  46.             101,
  47.             102,
  48.             0])
  49.         self.failUnlessEqual(cast(a, POINTER(c_byte))[6:-1:-1], [
  50.             0,
  51.             102,
  52.             101,
  53.             100,
  54.             99,
  55.             98,
  56.             97])
  57.         self.failUnlessEqual(cast(a, POINTER(c_byte))[:7:2], [
  58.             97,
  59.             99,
  60.             101,
  61.             0])
  62.         self.failUnlessEqual(cast(a, POINTER(c_byte))[:7:7], [
  63.             97])
  64.  
  65.     
  66.     def test_string_at(self):
  67.         s = string_at('foo bar')
  68.         self.failUnlessEqual(2, sys.getrefcount(s))
  69.         self.failUnless(s, 'foo bar')
  70.         self.failUnlessEqual(string_at('foo bar', 8), 'foo bar\x00')
  71.         self.failUnlessEqual(string_at('foo bar', 3), 'foo')
  72.  
  73.     
  74.     try:
  75.         create_unicode_buffer
  76.     except NameError:
  77.         pass
  78.  
  79.     
  80.     def test_wstring_at(self):
  81.         p = create_unicode_buffer('Hello, World')
  82.         a = create_unicode_buffer(1000000)
  83.         result = memmove(a, p, len(p) * sizeof(c_wchar))
  84.         self.failUnlessEqual(a.value, 'Hello, World')
  85.         self.failUnlessEqual(wstring_at(a), 'Hello, World')
  86.         self.failUnlessEqual(wstring_at(a, 5), 'Hello')
  87.         self.failUnlessEqual(wstring_at(a, 16), 'Hello, World\x00\x00\x00\x00')
  88.         self.failUnlessEqual(wstring_at(a, 0), '')
  89.  
  90.  
  91. if __name__ == '__main__':
  92.     unittest.main()
  93.  
  94.