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_getargs.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1000 b   |  35 lines

  1. """
  2. Test the internal getargs.c implementation
  3.  
  4.  PyArg_ParseTuple() is defined here.
  5.  
  6. The test here is not intended to test all of the module, just the
  7. single case that failed between 2.1 and 2.2a2.
  8. """
  9.  
  10. # marshal.loads() uses PyArg_ParseTuple(args, "s#:loads")
  11. # The s code will cause a Unicode conversion to occur.  This test
  12. # verify that the error is propagated properly from the C code back to
  13. # Python.
  14.  
  15. import marshal
  16. import unittest
  17. from test import test_support
  18.  
  19. class GetArgsTest(unittest.TestCase):
  20.     # If the encoding succeeds using the current default encoding,
  21.     # this test will fail because it does not test the right part of the
  22.     # PyArg_ParseTuple() implementation.
  23.     def test_with_marshal(self):
  24.         if not test_support.have_unicode:
  25.             return
  26.  
  27.         arg = unicode(r'\222', 'unicode-escape')
  28.         self.assertRaises(UnicodeError, marshal.loads, arg)
  29.  
  30. def test_main():
  31.     test_support.run_unittest(GetArgsTest)
  32.  
  33. if __name__ == '__main__':
  34.     test_main()
  35.