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

``