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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os
  5. import unittest
  6. from test_all import db, dbshelve, hashopen, test_support, get_new_environment_path, get_new_database_path
  7.  
  8. class MiscTestCase(unittest.TestCase):
  9.     
  10.     def setUp(self):
  11.         self.filename = self.__class__.__name__ + '.db'
  12.         self.homeDir = get_new_environment_path()
  13.  
  14.     
  15.     def tearDown(self):
  16.         test_support.unlink(self.filename)
  17.         test_support.rmtree(self.homeDir)
  18.  
  19.     
  20.     def test01_badpointer(self):
  21.         dbs = dbshelve.open(self.filename)
  22.         dbs.close()
  23.         self.assertRaises(db.DBError, dbs.get, 'foo')
  24.  
  25.     
  26.     def test02_db_home(self):
  27.         env = db.DBEnv()
  28.         self.assert_(env.db_home is None)
  29.         env.open(self.homeDir, db.DB_CREATE)
  30.         import sys
  31.         if sys.version_info[0] < 3:
  32.             self.assertEqual(self.homeDir, env.db_home)
  33.         else:
  34.             self.assertEqual(bytes(self.homeDir, 'ascii'), env.db_home)
  35.  
  36.     
  37.     def test03_repr_closed_db(self):
  38.         db = hashopen(self.filename)
  39.         db.close()
  40.         rp = repr(db)
  41.         self.assertEquals(rp, '{}')
  42.  
  43.     
  44.     def test04_repr_db(self):
  45.         db = hashopen(self.filename)
  46.         d = { }
  47.         for i in xrange(100):
  48.             db[repr(i)] = repr(100 * i)
  49.             d[repr(i)] = repr(100 * i)
  50.         
  51.         db.close()
  52.         db = hashopen(self.filename)
  53.         rp = repr(db)
  54.         self.assertEquals(rp, repr(d))
  55.         db.close()
  56.  
  57.     
  58.     def test05_double_free_make_key_dbt(self):
  59.         
  60.         try:
  61.             db1 = db.DB()
  62.             db1.open(self.filename, None, db.DB_BTREE, db.DB_CREATE | db.DB_THREAD)
  63.             curs = db1.cursor()
  64.             t = curs.get('/foo', db.DB_SET)
  65.         finally:
  66.             db1.close()
  67.             test_support.unlink(self.filename)
  68.  
  69.  
  70.     
  71.     def test06_key_with_null_bytes(self):
  72.         
  73.         try:
  74.             db1 = db.DB()
  75.             db1.open(self.filename, None, db.DB_HASH, db.DB_CREATE)
  76.             db1['a'] = 'eh?'
  77.             db1['a\x00'] = 'eh zed.'
  78.             db1['a\x00a'] = 'eh zed eh?'
  79.             db1['aaa'] = 'eh eh eh!'
  80.             keys = db1.keys()
  81.             keys.sort()
  82.             self.assertEqual([
  83.                 'a',
  84.                 'a\x00',
  85.                 'a\x00a',
  86.                 'aaa'], keys)
  87.             self.assertEqual(db1['a'], 'eh?')
  88.             self.assertEqual(db1['a\x00'], 'eh zed.')
  89.             self.assertEqual(db1['a\x00a'], 'eh zed eh?')
  90.             self.assertEqual(db1['aaa'], 'eh eh eh!')
  91.         finally:
  92.             db1.close()
  93.             test_support.unlink(self.filename)
  94.  
  95.  
  96.     
  97.     def test07_DB_set_flags_persists(self):
  98.         if db.version() < (4, 2):
  99.             return None
  100.         
  101.         try:
  102.             db1 = db.DB()
  103.             db1.set_flags(db.DB_DUPSORT)
  104.             db1.open(self.filename, db.DB_HASH, db.DB_CREATE)
  105.             db1['a'] = 'eh'
  106.             db1['a'] = 'A'
  107.             self.assertEqual([
  108.                 ('a', 'A')], db1.items())
  109.             db1.put('a', 'Aa')
  110.             self.assertEqual([
  111.                 ('a', 'A'),
  112.                 ('a', 'Aa')], db1.items())
  113.             db1.close()
  114.             db1 = db.DB()
  115.             db1.open(self.filename, db.DB_HASH)
  116.             self.assertEqual([
  117.                 ('a', 'A'),
  118.                 ('a', 'Aa')], db1.items())
  119.             db1['a'] = 'new A'
  120.             self.assertEqual([
  121.                 ('a', 'new A')], db1.items())
  122.         finally:
  123.             db1.close()
  124.             test_support.unlink(self.filename)
  125.  
  126.  
  127.  
  128.  
  129. def test_suite():
  130.     return unittest.makeSuite(MiscTestCase)
  131.  
  132. if __name__ == '__main__':
  133.     unittest.main(defaultTest = 'test_suite')
  134.  
  135.