Lines Matching refs:self

37     def testFlattenLen(self):
39 self.assertRaises(TypeError, _tkinter._flatten, True)
41 self.assertRaises(TypeError, _tkinter._flatten, {})
44 self.assertRaises(TypeError, _tkinter._flatten, 'string')
45 self.assertRaises(TypeError, _tkinter._flatten, {'set'})
50 def setUp(self):
51 self.interp = Tcl()
52 self.wantobjects = self.interp.tk.wantobjects()
54 def testEval(self):
55 tcl = self.interp
57 self.assertEqual(tcl.eval('set a'),'1')
59 def test_eval_null_in_result(self):
60 tcl = self.interp
61 self.assertEqual(tcl.eval('set a "a\\0b"'), 'a\x00b')
63 def test_eval_surrogates_in_result(self):
64 tcl = self.interp
65 self.assertIn(tcl.eval(r'set a "<\ud83d\udcbb>"'), '<\U0001f4bb>')
67 def testEvalException(self):
68 tcl = self.interp
69 self.assertRaises(TclError,tcl.eval,'set a')
71 def testEvalException2(self):
72 tcl = self.interp
73 self.assertRaises(TclError,tcl.eval,'this is wrong')
75 def testCall(self):
76 tcl = self.interp
78 self.assertEqual(tcl.call('set','a'),'1')
80 def testCallException(self):
81 tcl = self.interp
82 self.assertRaises(TclError,tcl.call,'set','a')
84 def testCallException2(self):
85 tcl = self.interp
86 self.assertRaises(TclError,tcl.call,'this','is','wrong')
88 def testSetVar(self):
89 tcl = self.interp
91 self.assertEqual(tcl.eval('set a'),'1')
93 def testSetVarArray(self):
94 tcl = self.interp
96 self.assertEqual(tcl.eval('set a(1)'),'1')
98 def testGetVar(self):
99 tcl = self.interp
101 self.assertEqual(tcl.getvar('a'),'1')
103 def testGetVarArray(self):
104 tcl = self.interp
106 self.assertEqual(tcl.getvar('a(1)'),'1')
108 def testGetVarException(self):
109 tcl = self.interp
110 self.assertRaises(TclError,tcl.getvar,'a')
112 def testGetVarArrayException(self):
113 tcl = self.interp
114 self.assertRaises(TclError,tcl.getvar,'a(1)')
116 def testUnsetVar(self):
117 tcl = self.interp
119 self.assertEqual(tcl.eval('info exists a'),'1')
121 self.assertEqual(tcl.eval('info exists a'),'0')
123 def testUnsetVarArray(self):
124 tcl = self.interp
127 self.assertEqual(tcl.eval('info exists a(1)'),'1')
128 self.assertEqual(tcl.eval('info exists a(2)'),'1')
130 self.assertEqual(tcl.eval('info exists a(1)'),'0')
131 self.assertEqual(tcl.eval('info exists a(2)'),'1')
133 def testUnsetVarException(self):
134 tcl = self.interp
135 self.assertRaises(TclError,tcl.unsetvar,'a')
137 def get_integers(self):
143 def test_getint(self):
144 tcl = self.interp.tk
145 for i in self.get_integers():
146 self.assertEqual(tcl.getint(' %d ' % i), i)
147 self.assertEqual(tcl.getint(' %#o ' % i), i)
150 self.assertEqual(tcl.getint((' %#o ' % i).replace('o', '')),
152 self.assertEqual(tcl.getint(' %#x ' % i), i)
153 self.assertEqual(tcl.getint(42), 42)
154 self.assertRaises(TypeError, tcl.getint)
155 self.assertRaises(TypeError, tcl.getint, '42', '10')
156 self.assertRaises(TypeError, tcl.getint, b'42')
157 self.assertRaises(TypeError, tcl.getint, 42.0)
158 self.assertRaises(TclError, tcl.getint, 'a')
159 self.assertRaises((TypeError, ValueError, TclError),
161 self.assertRaises((UnicodeEncodeError, ValueError, TclError),
164 def test_getdouble(self):
165 tcl = self.interp.tk
166 self.assertEqual(tcl.getdouble(' 42 '), 42.0)
167 self.assertEqual(tcl.getdouble(' 42.5 '), 42.5)
168 self.assertEqual(tcl.getdouble(42.5), 42.5)
169 self.assertEqual(tcl.getdouble(42), 42.0)
170 self.assertRaises(TypeError, tcl.getdouble)
171 self.assertRaises(TypeError, tcl.getdouble, '42.5', '10')
172 self.assertRaises(TypeError, tcl.getdouble, b'42.5')
173 self.assertRaises(TclError, tcl.getdouble, 'a')
174 self.assertRaises((TypeError, ValueError, TclError),
176 self.assertRaises((UnicodeEncodeError, ValueError, TclError),
179 def test_getboolean(self):
180 tcl = self.interp.tk
181 self.assertIs(tcl.getboolean('on'), True)
182 self.assertIs(tcl.getboolean('1'), True)
183 self.assertIs(tcl.getboolean(42), True)
184 self.assertIs(tcl.getboolean(0), False)
185 self.assertRaises(TypeError, tcl.getboolean)
186 self.assertRaises(TypeError, tcl.getboolean, 'on', '1')
187 self.assertRaises(TypeError, tcl.getboolean, b'on')
188 self.assertRaises(TypeError, tcl.getboolean, 1.0)
189 self.assertRaises(TclError, tcl.getboolean, 'a')
190 self.assertRaises((TypeError, ValueError, TclError),
192 self.assertRaises((UnicodeEncodeError, ValueError, TclError),
195 def testEvalFile(self):
196 tcl = self.interp
198 self.addCleanup(os_helper.unlink, filename)
205 self.assertEqual(tcl.eval('set a'),'1')
206 self.assertEqual(tcl.eval('set b'),'2')
207 self.assertEqual(tcl.eval('set c'),'3')
209 def test_evalfile_null_in_result(self):
210 tcl = self.interp
212 self.addCleanup(os_helper.unlink, filename)
219 self.assertEqual(tcl.eval('set a'), 'a\x00b')
220 self.assertEqual(tcl.eval('set b'), 'a\x00b')
222 def test_evalfile_surrogates_in_result(self):
223 tcl = self.interp
225 self.addCleanup(tcl.call, 'encoding', 'system', encoding)
229 self.addCleanup(os_helper.unlink, filename)
236 self.assertEqual(tcl.eval('set a'), '<\U0001f4bb>')
237 self.assertEqual(tcl.eval('set b'), '<\U0001f4bb>')
239 def testEvalFileException(self):
240 tcl = self.interp
246 self.assertRaises(TclError,tcl.evalfile,filename)
248 def testPackageRequireException(self):
249 tcl = self.interp
250 self.assertRaises(TclError,tcl.eval,'package require DNE')
253 def testLoadWithUNC(self):
272 self.assertIn(b'tkinter', stdout)
274 def test_exprstring(self):
275 tcl = self.interp
280 self.assertEqual(result, expected)
281 self.assertIsInstance(result, str)
283 self.assertRaises(TypeError, tcl.exprstring)
284 self.assertRaises(TypeError, tcl.exprstring, '8.2', '+6')
285 self.assertRaises(TypeError, tcl.exprstring, b'8.2 + 6')
286 self.assertRaises(TclError, tcl.exprstring, 'spam')
308 def test_exprdouble(self):
309 tcl = self.interp
314 self.assertEqual(result, expected)
315 self.assertIsInstance(result, float)
317 self.assertRaises(TypeError, tcl.exprdouble)
318 self.assertRaises(TypeError, tcl.exprdouble, '8.2', '+6')
319 self.assertRaises(TypeError, tcl.exprdouble, b'8.2 + 6')
320 self.assertRaises(TclError, tcl.exprdouble, 'spam')
336 self.assertRaises(TclError, tcl.exprdouble, '"abc"')
339 def test_exprlong(self):
340 tcl = self.interp
345 self.assertEqual(result, expected)
346 self.assertIsInstance(result, int)
348 self.assertRaises(TypeError, tcl.exprlong)
349 self.assertRaises(TypeError, tcl.exprlong, '8.2', '+6')
350 self.assertRaises(TypeError, tcl.exprlong, b'8.2 + 6')
351 self.assertRaises(TclError, tcl.exprlong, 'spam')
367 self.assertRaises(TclError, tcl.exprlong, '"abc"')
368 self.assertRaises(TclError, tcl.exprlong, '2**64')
370 def test_exprboolean(self):
371 tcl = self.interp
376 self.assertEqual(result, expected)
377 self.assertIsInstance(result, int)
378 self.assertNotIsInstance(result, bool)
380 self.assertRaises(TypeError, tcl.exprboolean)
381 self.assertRaises(TypeError, tcl.exprboolean, '8.2', '+6')
382 self.assertRaises(TypeError, tcl.exprboolean, b'8.2 + 6')
383 self.assertRaises(TclError, tcl.exprboolean, 'spam')
407 self.assertRaises(TclError, tcl.exprboolean, '"abc"')
410 def test_booleans(self):
411 tcl = self.interp
415 self.assertEqual(result, expected)
416 self.assertIsInstance(result, int)
418 self.assertIn(result, (expr, str(int(expected))))
419 self.assertIsInstance(result, str)
429 def test_expr_bignum(self):
430 tcl = self.interp
431 for i in self.get_integers():
433 if self.wantobjects:
434 self.assertEqual(result, i)
435 self.assertIsInstance(result, int)
437 self.assertEqual(result, str(i))
438 self.assertIsInstance(result, str)
440 def test_passing_values(self):
442 return self.interp.call('set', '_', value)
444 self.assertEqual(passValue(True), True if self.wantobjects else '1')
445 self.assertEqual(passValue(False), False if self.wantobjects else '0')
446 self.assertEqual(passValue('string'), 'string')
447 self.assertEqual(passValue('string\u20ac'), 'string\u20ac')
448 self.assertEqual(passValue('string\U0001f4bb'), 'string\U0001f4bb')
449 self.assertEqual(passValue('str\x00ing'), 'str\x00ing')
450 self.assertEqual(passValue('str\x00ing\xbd'), 'str\x00ing\xbd')
451 self.assertEqual(passValue('str\x00ing\u20ac'), 'str\x00ing\u20ac')
452 self.assertEqual(passValue('str\x00ing\U0001f4bb'),
455 self.assertEqual(passValue('<\udce2\udc82\udcac>'),
457 self.assertEqual(passValue('<\udced\udca0\udcbd\udced\udcb2\udcbb>'),
459 self.assertEqual(passValue(b'str\x00ing'),
460 b'str\x00ing' if self.wantobjects else 'str\x00ing')
461 self.assertEqual(passValue(b'str\xc0\x80ing'),
462 b'str\xc0\x80ing' if self.wantobjects else 'str\xc0\x80ing')
463 self.assertEqual(passValue(b'str\xbding'),
464 b'str\xbding' if self.wantobjects else 'str\xbding')
465 for i in self.get_integers():
466 self.assertEqual(passValue(i), i if self.wantobjects else str(i))
470 if self.wantobjects:
471 self.assertEqual(passValue(f), f)
473 self.assertEqual(float(passValue(f)), f)
474 if self.wantobjects:
476 self.assertNotEqual(f, f)
477 self.assertEqual(passValue(float('inf')), float('inf'))
478 self.assertEqual(passValue(-float('inf')), -float('inf'))
480 self.assertEqual(float(passValue(float('inf'))), float('inf'))
481 self.assertEqual(float(passValue(-float('inf'))), -float('inf'))
483 self.assertEqual(passValue((1, '2', (3.4,))),
484 (1, '2', (3.4,)) if self.wantobjects else '1 2 3.4')
485 self.assertEqual(passValue(['a', ['b', 'c']]),
486 ('a', ('b', 'c')) if self.wantobjects else 'a {b c}')
488 def test_user_command(self):
494 self.interp.createcommand('testfunc', testfunc)
495 self.addCleanup(self.interp.tk.deletecommand, 'testfunc')
496 def check(value, expected=None, *, eq=self.assertEqual):
501 r = self.interp.call('testfunc', value)
502 self.assertIsInstance(result, str)
504 self.assertIsInstance(r, str)
507 self.assertAlmostEqual(float(actual), expected,
530 for i in self.get_integers():
544 def test_splitlist(self):
545 splitlist = self.interp.tk.splitlist
546 call = self.interp.tk.call
547 self.assertRaises(TypeError, splitlist)
548 self.assertRaises(TypeError, splitlist, 'a', 'b')
549 self.assertRaises(TypeError, splitlist, 2)
574 (1, '2', (3.4,)) if self.wantobjects else
578 if not self.wantobjects:
587 % (self.wantobjects, tcl_version, tk_patchlevel))
589 self.assertEqual(splitlist(arg), res,
591 self.assertRaises(TclError, splitlist, '{')
593 def test_splitdict(self):
595 tcl = self.interp.tk
598 self.assertEqual(splitdict(tcl, arg, False),
600 self.assertEqual(splitdict(tcl, arg),
604 self.assertEqual(splitdict(tcl, arg, False),
606 self.assertEqual(splitdict(tcl, arg),
609 self.assertRaises(RuntimeError, splitdict, tcl, '-a b -c ')
610 self.assertRaises(RuntimeError, splitdict, tcl, ('-a', 'b', '-c'))
614 self.assertEqual(splitdict(tcl, arg),
615 {'a': (1, 2, 3) if self.wantobjects else '1 2 3',
620 if not self.wantobjects:
624 self.assertEqual(splitdict(tcl, arg), expected)
626 def test_join(self):
628 tcl = self.interp.tk
632 self.assertEqual(unpack(join([value])), value)
633 self.assertEqual(unpack(join([value, 0])), value)
634 self.assertEqual(unpack(unpack(join([[value]]))), value)
635 self.assertEqual(unpack(unpack(join([[value, 0]]))), value)
636 self.assertEqual(unpack(unpack(join([[value], 0]))), value)
637 self.assertEqual(unpack(unpack(join([[value, 0], 0]))), value)
664 def test_new_tcl_obj(self):
665 support.check_disallow_instantiation(self, _tkinter.Tcl_Obj)
666 support.check_disallow_instantiation(self, _tkinter.TkttType)
667 support.check_disallow_instantiation(self, _tkinter.TkappType)
671 def setUp(self):
672 self.interp = Tcl()
677 def test_huge_string_call(self, size):
679 self.assertRaises(OverflowError, self.interp.call, 'string', 'index', value, 0)
684 def test_huge_string_builtins(self, size):
685 tk = self.interp.tk
687 self.assertRaises(OverflowError, tk.getint, value)
688 self.assertRaises(OverflowError, tk.getdouble, value)
689 self.assertRaises(OverflowError, tk.getboolean, value)
690 self.assertRaises(OverflowError, tk.eval, value)
691 self.assertRaises(OverflowError, tk.evalfile, value)
692 self.assertRaises(OverflowError, tk.record, value)
693 self.assertRaises(OverflowError, tk.adderrorinfo, value)
694 self.assertRaises(OverflowError, tk.setvar, value, 'x', 'a')
695 self.assertRaises(OverflowError, tk.setvar, 'x', value, 'a')
696 self.assertRaises(OverflowError, tk.unsetvar, value)
697 self.assertRaises(OverflowError, tk.unsetvar, 'x', value)
698 self.assertRaises(OverflowError, tk.adderrorinfo, value)
699 self.assertRaises(OverflowError, tk.exprstring, value)
700 self.assertRaises(OverflowError, tk.exprlong, value)
701 self.assertRaises(OverflowError, tk.exprboolean, value)
702 self.assertRaises(OverflowError, tk.splitlist, value)
703 self.assertRaises(OverflowError, tk.createcommand, value, max)
704 self.assertRaises(OverflowError, tk.deletecommand, value)
709 def test_huge_string_builtins2(self, size):
711 tk = self.interp.tk
713 self.assertRaises(OverflowError, tk.evalfile, value)
714 self.assertRaises(OverflowError, tk.unsetvar, value)
715 self.assertRaises(OverflowError, tk.unsetvar, 'x', value)