home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_module.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  2.0 KB  |  62 lines

  1. # Test the module type
  2. import unittest
  3. from test.test_support import run_unittest
  4.  
  5. import sys
  6. ModuleType = type(sys)
  7.  
  8. class ModuleTests(unittest.TestCase):
  9.     def test_uninitialized(self):
  10.         # An uninitialized module has no __dict__ or __name__,
  11.         # and __doc__ is None
  12.         foo = ModuleType.__new__(ModuleType)
  13.         self.failUnless(foo.__dict__ is None)
  14.         try:
  15.             s = foo.__name__
  16.             self.fail("__name__ = %s" % repr(s))
  17.         except AttributeError:
  18.             pass
  19.         self.assertEqual(foo.__doc__, ModuleType.__doc__)
  20.  
  21.     def test_no_docstring(self):
  22.         # Regularly initialized module, no docstring
  23.         foo = ModuleType("foo")
  24.         self.assertEqual(foo.__name__, "foo")
  25.         self.assertEqual(foo.__doc__, None)
  26.         self.assertEqual(foo.__dict__, {"__name__": "foo", "__doc__": None})
  27.  
  28.     def test_ascii_docstring(self):
  29.         # ASCII docstring
  30.         foo = ModuleType("foo", "foodoc")
  31.         self.assertEqual(foo.__name__, "foo")
  32.         self.assertEqual(foo.__doc__, "foodoc")
  33.         self.assertEqual(foo.__dict__,
  34.                          {"__name__": "foo", "__doc__": "foodoc"})
  35.  
  36.     def test_unicode_docstring(self):
  37.         # Unicode docstring
  38.         foo = ModuleType("foo", u"foodoc\u1234")
  39.         self.assertEqual(foo.__name__, "foo")
  40.         self.assertEqual(foo.__doc__, u"foodoc\u1234")
  41.         self.assertEqual(foo.__dict__,
  42.                          {"__name__": "foo", "__doc__": u"foodoc\u1234"})
  43.  
  44.     def test_reinit(self):
  45.         # Reinitialization should not replace the __dict__
  46.         foo = ModuleType("foo", u"foodoc\u1234")
  47.         foo.bar = 42
  48.         d = foo.__dict__
  49.         foo.__init__("foo", "foodoc")
  50.         self.assertEqual(foo.__name__, "foo")
  51.         self.assertEqual(foo.__doc__, "foodoc")
  52.         self.assertEqual(foo.bar, 42)
  53.         self.assertEqual(foo.__dict__,
  54.               {"__name__": "foo", "__doc__": "foodoc", "bar": 42})
  55.         self.failUnless(foo.__dict__ is d)
  56.  
  57. def test_main():
  58.     run_unittest(ModuleTests)
  59.  
  60. if __name__ == '__main__':
  61.     test_main()
  62.