mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
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).
This commit is contained in:
parent
2290b23dfc
commit
06cb94bc84
9 changed files with 241 additions and 242 deletions
|
@ -170,6 +170,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, )
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue