Issue #12451: pydoc.synopsis() now reads the encoding cookie if available, to
read the Python script from the right encoding.
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
index 08ba86e..a8f9fbfc 100644
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -16,7 +16,7 @@
 from collections import namedtuple
 from contextlib import contextmanager
 from test.support import TESTFN, forget, rmtree, EnvironmentVarGuard, \
-     reap_children, captured_output, captured_stdout
+     reap_children, captured_output, captured_stdout, unlink
 
 from test import pydoc_mod
 
@@ -389,6 +389,17 @@
         self.assertIn('_replace', helptext)
         self.assertIn('_asdict', helptext)
 
+    def test_synopsis(self):
+        self.addCleanup(unlink, TESTFN)
+        for encoding in ('ISO-8859-1', 'UTF-8'):
+            with open(TESTFN, 'w', encoding=encoding) as script:
+                if encoding != 'UTF-8':
+                    print('#coding: {}'.format(encoding), file=script)
+                print('"""line 1: h\xe9', file=script)
+                print('line 2: hi"""', file=script)
+            synopsis = pydoc.synopsis(TESTFN, {})
+            self.assertEqual(synopsis, 'line 1: h\xe9')
+
 
 class TestDescriptions(unittest.TestCase):