def test_pipepager(self): # pipepager does not choke on unicode doc = pydoc.render_doc(self.Q) saved, os.popen = os.popen, open try: with test.test_support.temp_cwd(): pydoc.pipepager(doc, 'pipe') self.assertEqual(open('pipe').read(), pydoc._encode(doc)) finally: os.popen = saved
def test_tempfilepager(self): # tempfilepager does not choke on unicode doc = pydoc.render_doc(self.Q) output = {} def mock_system(cmd): filename = cmd.strip()[1:-1] self.assertEqual('"' + filename + '"', cmd.strip()) output['content'] = open(filename).read() saved, os.system = os.system, mock_system try: pydoc.tempfilepager(doc, '') self.assertEqual(output['content'], pydoc._encode(doc)) finally: os.system = saved
def test_encode(self): # _encode is robust against characters out the specified encoding self.assertEqual(pydoc._encode(self.Q.__doc__, 'ascii'), 'Rational numbers: ℚ')