from test.test_support import run_unittest import unittest import StringIO class SoftspaceTests(unittest.TestCase): def test_bug_480215(self): # SF bug 480215: softspace confused in nested print f = StringIO.StringIO() class C: def __str__(self): print >> f, 'a' return 'b' print >> f, C(), 'c ', 'd\t', 'e' print >> f, 'f', 'g' # In 2.2 & earlier, this printed ' a\nbc d\te\nf g\n' self.assertEqual(f.getvalue(), 'a\nb c d\te\nf g\n') def test_main(): run_unittest(SoftspaceTests) if __name__ == '__main__': test_main()