diff options
Diffstat (limited to 'lib/python2.7/test/test_uu.py')
-rw-r--r-- | lib/python2.7/test/test_uu.py | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/lib/python2.7/test/test_uu.py b/lib/python2.7/test/test_uu.py deleted file mode 100644 index 31046b0..0000000 --- a/lib/python2.7/test/test_uu.py +++ /dev/null @@ -1,201 +0,0 @@ -""" -Tests for uu module. -Nick Mathewson -""" - -import unittest -from test import test_support - -import sys, os, uu, cStringIO -import uu - -plaintext = "The smooth-scaled python crept over the sleeping dog\n" - -encodedtext = """\ -M5&AE('-M;V]T:\"US8V%L960@<'ET:&]N(&-R97!T(&]V97(@=&AE('-L965P -(:6YG(&1O9PH """ - -encodedtextwrapped = "begin %03o %s\n" + encodedtext.replace("%", "%%") + "\n \nend\n" - -class UUTest(unittest.TestCase): - - def test_encode(self): - inp = cStringIO.StringIO(plaintext) - out = cStringIO.StringIO() - uu.encode(inp, out, "t1") - self.assertEqual(out.getvalue(), encodedtextwrapped % (0666, "t1")) - inp = cStringIO.StringIO(plaintext) - out = cStringIO.StringIO() - uu.encode(inp, out, "t1", 0644) - self.assertEqual(out.getvalue(), encodedtextwrapped % (0644, "t1")) - - def test_decode(self): - inp = cStringIO.StringIO(encodedtextwrapped % (0666, "t1")) - out = cStringIO.StringIO() - uu.decode(inp, out) - self.assertEqual(out.getvalue(), plaintext) - inp = cStringIO.StringIO( - "UUencoded files may contain many lines,\n" + - "even some that have 'begin' in them.\n" + - encodedtextwrapped % (0666, "t1") - ) - out = cStringIO.StringIO() - uu.decode(inp, out) - self.assertEqual(out.getvalue(), plaintext) - - def test_truncatedinput(self): - inp = cStringIO.StringIO("begin 644 t1\n" + encodedtext) - out = cStringIO.StringIO() - try: - uu.decode(inp, out) - self.fail("No exception raised") - except uu.Error, e: - self.assertEqual(str(e), "Truncated input file") - - def test_missingbegin(self): - inp = cStringIO.StringIO("") - out = cStringIO.StringIO() - try: - uu.decode(inp, out) - self.fail("No exception raised") - except uu.Error, e: - self.assertEqual(str(e), "No valid begin line found in input file") - -class UUStdIOTest(unittest.TestCase): - - def setUp(self): - self.stdin = sys.stdin - self.stdout = sys.stdout - - def tearDown(self): - sys.stdin = self.stdin - sys.stdout = self.stdout - - def test_encode(self): - sys.stdin = cStringIO.StringIO(plaintext) - sys.stdout = cStringIO.StringIO() - uu.encode("-", "-", "t1", 0666) - self.assertEqual( - sys.stdout.getvalue(), - encodedtextwrapped % (0666, "t1") - ) - - def test_decode(self): - sys.stdin = cStringIO.StringIO(encodedtextwrapped % (0666, "t1")) - sys.stdout = cStringIO.StringIO() - uu.decode("-", "-") - self.assertEqual(sys.stdout.getvalue(), plaintext) - -class UUFileTest(unittest.TestCase): - - def _kill(self, f): - # close and remove file - try: - f.close() - except (SystemExit, KeyboardInterrupt): - raise - except: - pass - try: - os.unlink(f.name) - except (SystemExit, KeyboardInterrupt): - raise - except: - pass - - def setUp(self): - self.tmpin = test_support.TESTFN + "i" - self.tmpout = test_support.TESTFN + "o" - - def tearDown(self): - del self.tmpin - del self.tmpout - - def test_encode(self): - fin = fout = None - try: - test_support.unlink(self.tmpin) - fin = open(self.tmpin, 'wb') - fin.write(plaintext) - fin.close() - - fin = open(self.tmpin, 'rb') - fout = open(self.tmpout, 'w') - uu.encode(fin, fout, self.tmpin, mode=0644) - fin.close() - fout.close() - - fout = open(self.tmpout, 'r') - s = fout.read() - fout.close() - self.assertEqual(s, encodedtextwrapped % (0644, self.tmpin)) - - # in_file and out_file as filenames - uu.encode(self.tmpin, self.tmpout, self.tmpin, mode=0644) - fout = open(self.tmpout, 'r') - s = fout.read() - fout.close() - self.assertEqual(s, encodedtextwrapped % (0644, self.tmpin)) - - finally: - self._kill(fin) - self._kill(fout) - - def test_decode(self): - f = None - try: - test_support.unlink(self.tmpin) - f = open(self.tmpin, 'w') - f.write(encodedtextwrapped % (0644, self.tmpout)) - f.close() - - f = open(self.tmpin, 'r') - uu.decode(f) - f.close() - - f = open(self.tmpout, 'r') - s = f.read() - f.close() - self.assertEqual(s, plaintext) - # XXX is there an xp way to verify the mode? - finally: - self._kill(f) - - def test_decode_filename(self): - f = None - try: - test_support.unlink(self.tmpin) - f = open(self.tmpin, 'w') - f.write(encodedtextwrapped % (0644, self.tmpout)) - f.close() - - uu.decode(self.tmpin) - - f = open(self.tmpout, 'r') - s = f.read() - f.close() - self.assertEqual(s, plaintext) - finally: - self._kill(f) - - def test_decodetwice(self): - # Verify that decode() will refuse to overwrite an existing file - f = None - try: - f = cStringIO.StringIO(encodedtextwrapped % (0644, self.tmpout)) - - f = open(self.tmpin, 'r') - uu.decode(f) - f.close() - - f = open(self.tmpin, 'r') - self.assertRaises(uu.Error, uu.decode, f) - f.close() - finally: - self._kill(f) - -def test_main(): - test_support.run_unittest(UUTest, UUStdIOTest, UUFileTest) - -if __name__=="__main__": - test_main() |