import unittest import Tkinter as tkinter import tkFont as font from test.test_support import requires, run_unittest, gc_collect from test_ttk.support import AbstractTkTest requires('gui') fontname = "TkDefaultFont" class FontTest(AbstractTkTest, unittest.TestCase): @classmethod def setUpClass(cls): AbstractTkTest.setUpClass.__func__(cls) try: cls.font = font.Font(root=cls.root, name=fontname, exists=True) except tkinter.TclError: cls.font = font.Font(root=cls.root, name=fontname, exists=False) def test_configure(self): options = self.font.configure() self.assertGreaterEqual(set(options), {'family', 'size', 'weight', 'slant', 'underline', 'overstrike'}) for key in options: self.assertEqual(self.font.cget(key), options[key]) self.assertEqual(self.font[key], options[key]) for key in 'family', 'weight', 'slant': self.assertIsInstance(options[key], str) self.assertIsInstance(self.font.cget(key), str) self.assertIsInstance(self.font[key], str) sizetype = int if self.wantobjects else str for key in 'size', 'underline', 'overstrike': self.assertIsInstance(options[key], sizetype) 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), {'family', 'size', 'weight', 'slant', 'underline', 'overstrike'}) for key in options: self.assertEqual(self.font.actual(key), options[key]) for key in 'family', 'weight', 'slant': self.assertIsInstance(options[key], str) self.assertIsInstance(self.font.actual(key), str) sizetype = int if self.wantobjects else str for key in 'size', 'underline', 'overstrike': self.assertIsInstance(options[key], sizetype) self.assertIsInstance(self.font.actual(key), sizetype) def test_name(self): self.assertEqual(self.font.name, fontname) self.assertEqual(str(self.font), fontname) def test_eq(self): font1 = font.Font(root=self.root, name=fontname, exists=True) font2 = font.Font(root=self.root, name=fontname, exists=True) self.assertIsNot(font1, font2) self.assertEqual(font1, font2) self.assertNotEqual(font1, font1.copy()) self.assertNotEqual(font1, 0) self.assertNotIn(font1, [0]) def test_measure(self): self.assertIsInstance(self.font.measure('abc'), int) def test_metrics(self): metrics = self.font.metrics() self.assertGreaterEqual(set(metrics), {'ascent', 'descent', 'linespace', 'fixed'}) for key in metrics: self.assertEqual(self.font.metrics(key), metrics[key]) self.assertIsInstance(metrics[key], int) self.assertIsInstance(self.font.metrics(key), int) def test_families(self): families = font.families(self.root) self.assertIsInstance(families, tuple) self.assertTrue(families) for family in families: self.assertIsInstance(family, (str, unicode)) self.assertTrue(family) def test_names(self): names = font.names(self.root) self.assertIsInstance(names, tuple) self.assertTrue(names) for name in names: self.assertIsInstance(name, (str, unicode)) self.assertTrue(name) self.assertIn(fontname, names) tests_gui = (FontTest, ) if __name__ == "__main__": run_unittest(*tests_gui)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__init__.py | File | 0 B | 0644 |
|
__init__.pyc | File | 144 B | 0644 |
|
__init__.pyo | File | 144 B | 0644 |
|
test_font.py | File | 3.97 KB | 0644 |
|
test_font.pyc | File | 4.93 KB | 0644 |
|
test_font.pyo | File | 4.93 KB | 0644 |
|
test_geometry_managers.py | File | 39.62 KB | 0644 |
|
test_geometry_managers.pyc | File | 40.21 KB | 0644 |
|
test_geometry_managers.pyo | File | 40.21 KB | 0644 |
|
test_images.py | File | 13.04 KB | 0644 |
|
test_images.pyc | File | 15.54 KB | 0644 |
|
test_images.pyo | File | 15.54 KB | 0644 |
|
test_loadtk.py | File | 1.42 KB | 0644 |
|
test_loadtk.pyc | File | 1.7 KB | 0644 |
|
test_loadtk.pyo | File | 1.7 KB | 0644 |
|
test_misc.py | File | 4.15 KB | 0644 |
|
test_misc.pyc | File | 3.75 KB | 0644 |
|
test_misc.pyo | File | 3.75 KB | 0644 |
|
test_text.py | File | 1.43 KB | 0644 |
|
test_text.pyc | File | 1.8 KB | 0644 |
|
test_text.pyo | File | 1.8 KB | 0644 |
|
test_variables.py | File | 8.19 KB | 0644 |
|
test_variables.pyc | File | 11.15 KB | 0644 |
|
test_variables.pyo | File | 11.15 KB | 0644 |
|
test_widgets.py | File | 46.13 KB | 0644 |
|
test_widgets.pyc | File | 61.02 KB | 0644 |
|
test_widgets.pyo | File | 61.02 KB | 0644 |
|