symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_module.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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()