summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/test/test_tkinter/test_misc.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-10-04 10:28:54 (GMT)
committerGitHub <noreply@github.com>2019-10-04 10:28:54 (GMT)
commitdc191245d8f63f5ab41afff0468b7463a07e7b00 (patch)
treece776c0fdf9e30d0212c5a1d10ab575d335fca4c /Lib/tkinter/test/test_tkinter/test_misc.py
parent3af2733a8265a2685b2c0466a58a66e544a81c64 (diff)
downloadcpython-dc191245d8f63f5ab41afff0468b7463a07e7b00.zip
cpython-dc191245d8f63f5ab41afff0468b7463a07e7b00.tar.gz
cpython-dc191245d8f63f5ab41afff0468b7463a07e7b00.tar.bz2
bpo-13153: Use OS native encoding for converting between Python and Tcl. (GH-16545)
On Windows use UTF-16 (or UTF-32 for 32-bit Tcl_UniChar) with the "surrogatepass" error handler for converting to/from Tcl Unicode objects. On Linux use UTF-8 with the "surrogateescape" error handler for converting to/from Tcl String objects. Converting strings from Tcl to Python and back now never fails (except MemoryError). (cherry picked from commit 06cb94bc8419b9a24df6b0d724fcd8e40c6971d6) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Diffstat (limited to 'Lib/tkinter/test/test_tkinter/test_misc.py')
-rw-r--r--Lib/tkinter/test/test_tkinter/test_misc.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/Lib/tkinter/test/test_tkinter/test_misc.py b/Lib/tkinter/test/test_tkinter/test_misc.py
index 1d1a3c2..236cae0 100644
--- a/Lib/tkinter/test/test_tkinter/test_misc.py
+++ b/Lib/tkinter/test/test_tkinter/test_misc.py
@@ -156,6 +156,28 @@ class MiscTest(AbstractTkTest, unittest.TestCase):
with self.assertRaises(tkinter.TclError):
root.tk.call('after', 'info', idle1)
+ def test_clipboard(self):
+ root = self.root
+ root.clipboard_clear()
+ root.clipboard_append('Ùñî')
+ self.assertEqual(root.clipboard_get(), 'Ùñî')
+ root.clipboard_append('çōđě')
+ self.assertEqual(root.clipboard_get(), 'Ùñîçōđě')
+ root.clipboard_clear()
+ with self.assertRaises(tkinter.TclError):
+ root.clipboard_get()
+
+ def test_clipboard_astral(self):
+ root = self.root
+ root.clipboard_clear()
+ root.clipboard_append('𝔘𝔫𝔦')
+ self.assertEqual(root.clipboard_get(), '𝔘𝔫𝔦')
+ root.clipboard_append('𝔠𝔬𝔡𝔢')
+ self.assertEqual(root.clipboard_get(), '𝔘𝔫𝔦𝔠𝔬𝔡𝔢')
+ root.clipboard_clear()
+ with self.assertRaises(tkinter.TclError):
+ root.clipboard_get()
+
tests_gui = (MiscTest, )