Kaydet (Commit) 96f50205 authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka Kaydeden (comit) GitHub

[2.7] bpo-30310: tkFont now supports unicode options (e.g. font family). (#1567)

üst 2bb6eb3f
import unittest
import Tkinter as tkinter
import tkFont as font
from test.test_support import requires, run_unittest
from test.test_support import requires, run_unittest, gc_collect
from test_ttk.support import AbstractTkTest
requires('gui')
......@@ -35,6 +35,16 @@ class FontTest(AbstractTkTest, unittest.TestCase):
self.assertIsInstance(self.font.cget(key), sizetype)
self.assertIsInstance(self.font[key], sizetype)
def test_unicode_family(self):
family = u'MS \u30b4\u30b7\u30c3\u30af'
try:
f = font.Font(root=self.root, family=family, exists=True)
except tkinter.TclError:
f = font.Font(root=self.root, family=family, exists=False)
self.assertEqual(f.cget('family'), family)
del f
gc_collect()
def test_actual(self):
options = self.font.actual()
self.assertGreaterEqual(set(options),
......
......@@ -47,8 +47,10 @@ class Font:
def _set(self, kw):
options = []
for k, v in kw.items():
if not isinstance(v, basestring):
v = str(v)
options.append("-"+k)
options.append(str(v))
options.append(v)
return tuple(options)
def _get(self, args):
......
......@@ -49,6 +49,8 @@ Extension Modules
Library
-------
- bpo-30310: tkFont now supports unicode options (e.g. font family).
- bpo-30414: multiprocessing.Queue._feed background running
thread do not break from main loop on exception.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment