Issue #13415: test_curses skips unencodable characters
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index ce09855..21ac608 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -267,11 +267,18 @@
def test_unget_wch(stdscr):
if not hasattr(curses, 'unget_wch'):
return
+ import locale
+ encoding = locale.getpreferredencoding()
for ch in ('a', '\xe9', '\u20ac', '\U0010FFFF'):
try:
+ ch.encode(encoding)
+ except UnicodeEncodeError:
+ continue
+ try:
curses.unget_wch(ch)
except Exception as err:
- raise Exception("unget_wch(%a) failed: %s" % (ch, err))
+ raise Exception("unget_wch(%a) failed with locale encoding %s: %s"
+ % (ch, encoding, err))
read = stdscr.get_wch()
read = chr(read)
if read != ch: