bpo-33974: Fix passing special characters to ttk widgets. (GH-7986) · python/cpython@5bb5bbf (original) (raw)
`@@ -649,6 +649,43 @@ def test_splitdict(self):
`
649
649
`expected = {'a': (1, 2, 3), 'something': 'foo', 'status': ''}
`
650
650
`self.assertEqual(splitdict(tcl, arg), expected)
`
651
651
``
``
652
`+
def test_join(self):
`
``
653
`+
join = tkinter._join
`
``
654
`+
tcl = self.interp.tk
`
``
655
`+
def unpack(s):
`
``
656
`+
return tcl.call('lindex', s, 0)
`
``
657
`+
def check(value):
`
``
658
`+
self.assertEqual(unpack(join([value])), value)
`
``
659
`+
self.assertEqual(unpack(join([value, 0])), value)
`
``
660
`+
self.assertEqual(unpack(unpack(join([[value]]))), value)
`
``
661
`+
self.assertEqual(unpack(unpack(join([[value, 0]]))), value)
`
``
662
`+
self.assertEqual(unpack(unpack(join([[value], 0]))), value)
`
``
663
`+
self.assertEqual(unpack(unpack(join([[value, 0], 0]))), value)
`
``
664
`+
check('')
`
``
665
`+
check('spam')
`
``
666
`+
check('sp am')
`
``
667
`+
check('sp\tam')
`
``
668
`+
check('sp\nam')
`
``
669
`+
check(' \t\n')
`
``
670
`+
check('{spam}')
`
``
671
`+
check('{sp am}')
`
``
672
`+
check('"spam"')
`
``
673
`+
check('"sp am"')
`
``
674
`+
check('{"spam"}')
`
``
675
`+
check('"{spam}"')
`
``
676
`+
check('sp\am')
`
``
677
`+
check('"sp\am"')
`
``
678
`+
check('"{}" "{}"')
`
``
679
`+
check('"\')
`
``
680
`+
check('"{')
`
``
681
`+
check('"}')
`
``
682
`+
check('\n\')
`
``
683
`+
check('\n{')
`
``
684
`+
check('\n}')
`
``
685
`+
check('\\n')
`
``
686
`+
check('{\n')
`
``
687
`+
check('}\n')
`
``
688
+
652
689
`def test_new_tcl_obj(self):
`
653
690
`self.assertRaises(TypeError, _tkinter.Tcl_Obj)
`
654
691
``