blob: 61c24c9d11f179cc31b6acbef2bcc4ddfcc668a4 [file] [log] [blame]
Roger E. Masse2a1c8341997-01-16 16:44:09 +00001#! /usr/bin/env python
Guido van Rossum7b8f1ab1999-10-19 17:48:54 +00002"""Test script for the binhex C module
Roger E. Masse2a1c8341997-01-16 16:44:09 +00003
4 Uses the mechanism of the python binhex module
Fred Drake275dfda2001-05-22 21:01:14 +00005 Based on an original test by Roger E. Masse.
Roger E. Masse2a1c8341997-01-16 16:44:09 +00006"""
7import binhex
Fred Drake275dfda2001-05-22 21:01:14 +00008import os
Fred Drake275dfda2001-05-22 21:01:14 +00009import unittest
Barry Warsaw04f357c2002-07-23 19:04:11 +000010from test import test_support
Roger E. Masse2a1c8341997-01-16 16:44:09 +000011
Roger E. Masse2a1c8341997-01-16 16:44:09 +000012
Fred Drake275dfda2001-05-22 21:01:14 +000013class BinHexTestCase(unittest.TestCase):
Roger E. Masse2a1c8341997-01-16 16:44:09 +000014
Fred Drake275dfda2001-05-22 21:01:14 +000015 def setUp(self):
Guido van Rossum3b0a3292002-08-09 16:38:32 +000016 self.fname1 = test_support.TESTFN + "1"
17 self.fname2 = test_support.TESTFN + "2"
Fred Drake004d5e62000-10-23 17:22:08 +000018
Fred Drake275dfda2001-05-22 21:01:14 +000019 def tearDown(self):
Guido van Rossumdcee3c02007-05-22 22:25:42 +000020 test_support.unlink(self.fname1)
21 test_support.unlink(self.fname2)
Roger E. Masse2a1c8341997-01-16 16:44:09 +000022
Guido van Rossumdcee3c02007-05-22 22:25:42 +000023 DATA = b'Jack is my hero'
Roger E. Masse2a1c8341997-01-16 16:44:09 +000024
Fred Drake275dfda2001-05-22 21:01:14 +000025 def test_binhex(self):
Guido van Rossumdcee3c02007-05-22 22:25:42 +000026 f = open(self.fname1, 'wb')
Fred Drake275dfda2001-05-22 21:01:14 +000027 f.write(self.DATA)
28 f.close()
Roger E. Masse2a1c8341997-01-16 16:44:09 +000029
Fred Drake275dfda2001-05-22 21:01:14 +000030 binhex.binhex(self.fname1, self.fname2)
31
32 binhex.hexbin(self.fname2, self.fname1)
33
Guido van Rossumdcee3c02007-05-22 22:25:42 +000034 f = open(self.fname1, 'rb')
Fred Drake275dfda2001-05-22 21:01:14 +000035 finish = f.readline()
36 f.close()
37
38 self.assertEqual(self.DATA, finish)
39
40
Fred Drake2e2be372001-09-20 21:33:42 +000041def test_main():
42 test_support.run_unittest(BinHexTestCase)
43
44
45if __name__ == "__main__":
46 test_main()