1from test.test_support import run_unittest 2import unittest 3import StringIO 4 5class SoftspaceTests(unittest.TestCase): 6 def test_bug_480215(self): 7 # SF bug 480215: softspace confused in nested print 8 f = StringIO.StringIO() 9 class C: 10 def __str__(self): 11 print >> f, 'a' 12 return 'b' 13 14 print >> f, C(), 'c ', 'd\t', 'e' 15 print >> f, 'f', 'g' 16 # In 2.2 & earlier, this printed ' a\nbc d\te\nf g\n' 17 self.assertEqual(f.getvalue(), 'a\nb c d\te\nf g\n') 18 19def test_main(): 20 run_unittest(SoftspaceTests) 21 22if __name__ == '__main__': 23 test_main() 24