self.assertEqual(image['foreground'],
'-foreground {} {} #000000 yellow')
+ def test_bug_100814(self):
+ # gh-100814: Passing a callable option value causes AttributeError.
+ with self.assertRaises(tkinter.TclError):
+ tkinter.BitmapImage('::img::test', master=self.root, spam=print)
+ image = tkinter.BitmapImage('::img::test', master=self.root)
+ with self.assertRaises(tkinter.TclError):
+ image.configure(spam=print)
+
class PhotoImageTest(AbstractTkTest, unittest.TestCase):
image.configure(palette='3/4/2')
self.assertEqual(image['palette'], '3/4/2')
+ def test_bug_100814(self):
+ # gh-100814: Passing a callable option value causes AttributeError.
+ with self.assertRaises(tkinter.TclError):
+ tkinter.PhotoImage('::img::test', master=self.root, spam=print)
+ image = tkinter.PhotoImage('::img::test', master=self.root)
+ with self.assertRaises(tkinter.TclError):
+ image.configure(spam=print)
+
def test_blank(self):
image = self.create()
image.blank()
elif kw: cnf = kw
options = ()
for k, v in cnf.items():
- if callable(v):
- v = self._register(v)
options = options + ('-'+k, v)
self.tk.call(('image', 'create', imgtype, name,) + options)
self.name = name
for k, v in _cnfmerge(kw).items():
if v is not None:
if k[-1] == '_': k = k[:-1]
- if callable(v):
- v = self._register(v)
res = res + ('-'+k, v)
self.tk.call((self.name, 'config') + res)