17db96d56Sopenharmony_ciimport unittest 27db96d56Sopenharmony_ciimport tkinter 37db96d56Sopenharmony_cifrom test import support 47db96d56Sopenharmony_cifrom test.support import os_helper 57db96d56Sopenharmony_cifrom tkinter.test.support import AbstractTkTest, AbstractDefaultRootTest, requires_tcl 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_cisupport.requires('gui') 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ciclass MiscTest(AbstractTkTest, unittest.TestCase): 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci def test_image_types(self): 137db96d56Sopenharmony_ci image_types = self.root.image_types() 147db96d56Sopenharmony_ci self.assertIsInstance(image_types, tuple) 157db96d56Sopenharmony_ci self.assertIn('photo', image_types) 167db96d56Sopenharmony_ci self.assertIn('bitmap', image_types) 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci def test_image_names(self): 197db96d56Sopenharmony_ci image_names = self.root.image_names() 207db96d56Sopenharmony_ci self.assertIsInstance(image_names, tuple) 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ciclass DefaultRootTest(AbstractDefaultRootTest, unittest.TestCase): 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci def test_image_types(self): 267db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.image_types) 277db96d56Sopenharmony_ci root = tkinter.Tk() 287db96d56Sopenharmony_ci image_types = tkinter.image_types() 297db96d56Sopenharmony_ci self.assertIsInstance(image_types, tuple) 307db96d56Sopenharmony_ci self.assertIn('photo', image_types) 317db96d56Sopenharmony_ci self.assertIn('bitmap', image_types) 327db96d56Sopenharmony_ci root.destroy() 337db96d56Sopenharmony_ci tkinter.NoDefaultRoot() 347db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.image_types) 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci def test_image_names(self): 377db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.image_names) 387db96d56Sopenharmony_ci root = tkinter.Tk() 397db96d56Sopenharmony_ci image_names = tkinter.image_names() 407db96d56Sopenharmony_ci self.assertIsInstance(image_names, tuple) 417db96d56Sopenharmony_ci root.destroy() 427db96d56Sopenharmony_ci tkinter.NoDefaultRoot() 437db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.image_names) 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci def test_image_create_bitmap(self): 467db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.BitmapImage) 477db96d56Sopenharmony_ci root = tkinter.Tk() 487db96d56Sopenharmony_ci image = tkinter.BitmapImage() 497db96d56Sopenharmony_ci self.assertIn(image.name, tkinter.image_names()) 507db96d56Sopenharmony_ci root.destroy() 517db96d56Sopenharmony_ci tkinter.NoDefaultRoot() 527db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.BitmapImage) 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci def test_image_create_photo(self): 557db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.PhotoImage) 567db96d56Sopenharmony_ci root = tkinter.Tk() 577db96d56Sopenharmony_ci image = tkinter.PhotoImage() 587db96d56Sopenharmony_ci self.assertIn(image.name, tkinter.image_names()) 597db96d56Sopenharmony_ci root.destroy() 607db96d56Sopenharmony_ci tkinter.NoDefaultRoot() 617db96d56Sopenharmony_ci self.assertRaises(RuntimeError, tkinter.PhotoImage) 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ciclass BitmapImageTest(AbstractTkTest, unittest.TestCase): 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_ci @classmethod 677db96d56Sopenharmony_ci def setUpClass(cls): 687db96d56Sopenharmony_ci AbstractTkTest.setUpClass.__func__(cls) 697db96d56Sopenharmony_ci cls.testfile = support.findfile('python.xbm', subdir='imghdrdata') 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci def test_create_from_file(self): 727db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root, 737db96d56Sopenharmony_ci foreground='yellow', background='blue', 747db96d56Sopenharmony_ci file=self.testfile) 757db96d56Sopenharmony_ci self.assertEqual(str(image), '::img::test') 767db96d56Sopenharmony_ci self.assertEqual(image.type(), 'bitmap') 777db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 787db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 797db96d56Sopenharmony_ci self.assertIn('::img::test', self.root.image_names()) 807db96d56Sopenharmony_ci del image 817db96d56Sopenharmony_ci support.gc_collect() # For PyPy or other GCs. 827db96d56Sopenharmony_ci self.assertNotIn('::img::test', self.root.image_names()) 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_ci def test_create_from_data(self): 857db96d56Sopenharmony_ci with open(self.testfile, 'rb') as f: 867db96d56Sopenharmony_ci data = f.read() 877db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root, 887db96d56Sopenharmony_ci foreground='yellow', background='blue', 897db96d56Sopenharmony_ci data=data) 907db96d56Sopenharmony_ci self.assertEqual(str(image), '::img::test') 917db96d56Sopenharmony_ci self.assertEqual(image.type(), 'bitmap') 927db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 937db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 947db96d56Sopenharmony_ci self.assertIn('::img::test', self.root.image_names()) 957db96d56Sopenharmony_ci del image 967db96d56Sopenharmony_ci support.gc_collect() # For PyPy or other GCs. 977db96d56Sopenharmony_ci self.assertNotIn('::img::test', self.root.image_names()) 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_ci def assertEqualStrList(self, actual, expected): 1007db96d56Sopenharmony_ci self.assertIsInstance(actual, str) 1017db96d56Sopenharmony_ci self.assertEqual(self.root.splitlist(actual), expected) 1027db96d56Sopenharmony_ci 1037db96d56Sopenharmony_ci def test_configure_data(self): 1047db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root) 1057db96d56Sopenharmony_ci self.assertEqual(image['data'], '-data {} {} {} {}') 1067db96d56Sopenharmony_ci with open(self.testfile, 'rb') as f: 1077db96d56Sopenharmony_ci data = f.read() 1087db96d56Sopenharmony_ci image.configure(data=data) 1097db96d56Sopenharmony_ci self.assertEqualStrList(image['data'], 1107db96d56Sopenharmony_ci ('-data', '', '', '', data.decode('ascii'))) 1117db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 1127db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 1137db96d56Sopenharmony_ci 1147db96d56Sopenharmony_ci self.assertEqual(image['maskdata'], '-maskdata {} {} {} {}') 1157db96d56Sopenharmony_ci image.configure(maskdata=data) 1167db96d56Sopenharmony_ci self.assertEqualStrList(image['maskdata'], 1177db96d56Sopenharmony_ci ('-maskdata', '', '', '', data.decode('ascii'))) 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ci def test_configure_file(self): 1207db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root) 1217db96d56Sopenharmony_ci self.assertEqual(image['file'], '-file {} {} {} {}') 1227db96d56Sopenharmony_ci image.configure(file=self.testfile) 1237db96d56Sopenharmony_ci self.assertEqualStrList(image['file'], 1247db96d56Sopenharmony_ci ('-file', '', '', '',self.testfile)) 1257db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 1267db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 1277db96d56Sopenharmony_ci 1287db96d56Sopenharmony_ci self.assertEqual(image['maskfile'], '-maskfile {} {} {} {}') 1297db96d56Sopenharmony_ci image.configure(maskfile=self.testfile) 1307db96d56Sopenharmony_ci self.assertEqualStrList(image['maskfile'], 1317db96d56Sopenharmony_ci ('-maskfile', '', '', '', self.testfile)) 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci def test_configure_background(self): 1347db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root) 1357db96d56Sopenharmony_ci self.assertEqual(image['background'], '-background {} {} {} {}') 1367db96d56Sopenharmony_ci image.configure(background='blue') 1377db96d56Sopenharmony_ci self.assertEqual(image['background'], '-background {} {} {} blue') 1387db96d56Sopenharmony_ci 1397db96d56Sopenharmony_ci def test_configure_foreground(self): 1407db96d56Sopenharmony_ci image = tkinter.BitmapImage('::img::test', master=self.root) 1417db96d56Sopenharmony_ci self.assertEqual(image['foreground'], 1427db96d56Sopenharmony_ci '-foreground {} {} #000000 #000000') 1437db96d56Sopenharmony_ci image.configure(foreground='yellow') 1447db96d56Sopenharmony_ci self.assertEqual(image['foreground'], 1457db96d56Sopenharmony_ci '-foreground {} {} #000000 yellow') 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci 1487db96d56Sopenharmony_ciclass PhotoImageTest(AbstractTkTest, unittest.TestCase): 1497db96d56Sopenharmony_ci 1507db96d56Sopenharmony_ci @classmethod 1517db96d56Sopenharmony_ci def setUpClass(cls): 1527db96d56Sopenharmony_ci AbstractTkTest.setUpClass.__func__(cls) 1537db96d56Sopenharmony_ci cls.testfile = support.findfile('python.gif', subdir='imghdrdata') 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ci def create(self): 1567db96d56Sopenharmony_ci return tkinter.PhotoImage('::img::test', master=self.root, 1577db96d56Sopenharmony_ci file=self.testfile) 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ci def colorlist(self, *args): 1607db96d56Sopenharmony_ci if tkinter.TkVersion >= 8.6 and self.wantobjects: 1617db96d56Sopenharmony_ci return args 1627db96d56Sopenharmony_ci else: 1637db96d56Sopenharmony_ci return tkinter._join(args) 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci def check_create_from_file(self, ext): 1667db96d56Sopenharmony_ci testfile = support.findfile('python.' + ext, subdir='imghdrdata') 1677db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root, 1687db96d56Sopenharmony_ci file=testfile) 1697db96d56Sopenharmony_ci self.assertEqual(str(image), '::img::test') 1707db96d56Sopenharmony_ci self.assertEqual(image.type(), 'photo') 1717db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 1727db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 1737db96d56Sopenharmony_ci self.assertEqual(image['data'], '') 1747db96d56Sopenharmony_ci self.assertEqual(image['file'], testfile) 1757db96d56Sopenharmony_ci self.assertIn('::img::test', self.root.image_names()) 1767db96d56Sopenharmony_ci del image 1777db96d56Sopenharmony_ci support.gc_collect() # For PyPy or other GCs. 1787db96d56Sopenharmony_ci self.assertNotIn('::img::test', self.root.image_names()) 1797db96d56Sopenharmony_ci 1807db96d56Sopenharmony_ci def check_create_from_data(self, ext): 1817db96d56Sopenharmony_ci testfile = support.findfile('python.' + ext, subdir='imghdrdata') 1827db96d56Sopenharmony_ci with open(testfile, 'rb') as f: 1837db96d56Sopenharmony_ci data = f.read() 1847db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root, 1857db96d56Sopenharmony_ci data=data) 1867db96d56Sopenharmony_ci self.assertEqual(str(image), '::img::test') 1877db96d56Sopenharmony_ci self.assertEqual(image.type(), 'photo') 1887db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 1897db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 1907db96d56Sopenharmony_ci self.assertEqual(image['data'], data if self.wantobjects 1917db96d56Sopenharmony_ci else data.decode('latin1')) 1927db96d56Sopenharmony_ci self.assertEqual(image['file'], '') 1937db96d56Sopenharmony_ci self.assertIn('::img::test', self.root.image_names()) 1947db96d56Sopenharmony_ci del image 1957db96d56Sopenharmony_ci support.gc_collect() # For PyPy or other GCs. 1967db96d56Sopenharmony_ci self.assertNotIn('::img::test', self.root.image_names()) 1977db96d56Sopenharmony_ci 1987db96d56Sopenharmony_ci def test_create_from_ppm_file(self): 1997db96d56Sopenharmony_ci self.check_create_from_file('ppm') 2007db96d56Sopenharmony_ci 2017db96d56Sopenharmony_ci def test_create_from_ppm_data(self): 2027db96d56Sopenharmony_ci self.check_create_from_data('ppm') 2037db96d56Sopenharmony_ci 2047db96d56Sopenharmony_ci def test_create_from_pgm_file(self): 2057db96d56Sopenharmony_ci self.check_create_from_file('pgm') 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci def test_create_from_pgm_data(self): 2087db96d56Sopenharmony_ci self.check_create_from_data('pgm') 2097db96d56Sopenharmony_ci 2107db96d56Sopenharmony_ci def test_create_from_gif_file(self): 2117db96d56Sopenharmony_ci self.check_create_from_file('gif') 2127db96d56Sopenharmony_ci 2137db96d56Sopenharmony_ci def test_create_from_gif_data(self): 2147db96d56Sopenharmony_ci self.check_create_from_data('gif') 2157db96d56Sopenharmony_ci 2167db96d56Sopenharmony_ci @requires_tcl(8, 6) 2177db96d56Sopenharmony_ci def test_create_from_png_file(self): 2187db96d56Sopenharmony_ci self.check_create_from_file('png') 2197db96d56Sopenharmony_ci 2207db96d56Sopenharmony_ci @requires_tcl(8, 6) 2217db96d56Sopenharmony_ci def test_create_from_png_data(self): 2227db96d56Sopenharmony_ci self.check_create_from_data('png') 2237db96d56Sopenharmony_ci 2247db96d56Sopenharmony_ci def test_configure_data(self): 2257db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2267db96d56Sopenharmony_ci self.assertEqual(image['data'], '') 2277db96d56Sopenharmony_ci with open(self.testfile, 'rb') as f: 2287db96d56Sopenharmony_ci data = f.read() 2297db96d56Sopenharmony_ci image.configure(data=data) 2307db96d56Sopenharmony_ci self.assertEqual(image['data'], data if self.wantobjects 2317db96d56Sopenharmony_ci else data.decode('latin1')) 2327db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 2337db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 2347db96d56Sopenharmony_ci 2357db96d56Sopenharmony_ci def test_configure_format(self): 2367db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2377db96d56Sopenharmony_ci self.assertEqual(image['format'], '') 2387db96d56Sopenharmony_ci image.configure(file=self.testfile, format='gif') 2397db96d56Sopenharmony_ci self.assertEqual(image['format'], ('gif',) if self.wantobjects 2407db96d56Sopenharmony_ci else 'gif') 2417db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 2427db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 2437db96d56Sopenharmony_ci 2447db96d56Sopenharmony_ci def test_configure_file(self): 2457db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2467db96d56Sopenharmony_ci self.assertEqual(image['file'], '') 2477db96d56Sopenharmony_ci image.configure(file=self.testfile) 2487db96d56Sopenharmony_ci self.assertEqual(image['file'], self.testfile) 2497db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 2507db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 2517db96d56Sopenharmony_ci 2527db96d56Sopenharmony_ci def test_configure_gamma(self): 2537db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2547db96d56Sopenharmony_ci self.assertEqual(image['gamma'], '1.0') 2557db96d56Sopenharmony_ci image.configure(gamma=2.0) 2567db96d56Sopenharmony_ci self.assertEqual(image['gamma'], '2.0') 2577db96d56Sopenharmony_ci 2587db96d56Sopenharmony_ci def test_configure_width_height(self): 2597db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2607db96d56Sopenharmony_ci self.assertEqual(image['width'], '0') 2617db96d56Sopenharmony_ci self.assertEqual(image['height'], '0') 2627db96d56Sopenharmony_ci image.configure(width=20) 2637db96d56Sopenharmony_ci image.configure(height=10) 2647db96d56Sopenharmony_ci self.assertEqual(image['width'], '20') 2657db96d56Sopenharmony_ci self.assertEqual(image['height'], '10') 2667db96d56Sopenharmony_ci self.assertEqual(image.width(), 20) 2677db96d56Sopenharmony_ci self.assertEqual(image.height(), 10) 2687db96d56Sopenharmony_ci 2697db96d56Sopenharmony_ci def test_configure_palette(self): 2707db96d56Sopenharmony_ci image = tkinter.PhotoImage('::img::test', master=self.root) 2717db96d56Sopenharmony_ci self.assertEqual(image['palette'], '') 2727db96d56Sopenharmony_ci image.configure(palette=256) 2737db96d56Sopenharmony_ci self.assertEqual(image['palette'], '256') 2747db96d56Sopenharmony_ci image.configure(palette='3/4/2') 2757db96d56Sopenharmony_ci self.assertEqual(image['palette'], '3/4/2') 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_ci def test_blank(self): 2787db96d56Sopenharmony_ci image = self.create() 2797db96d56Sopenharmony_ci image.blank() 2807db96d56Sopenharmony_ci self.assertEqual(image.width(), 16) 2817db96d56Sopenharmony_ci self.assertEqual(image.height(), 16) 2827db96d56Sopenharmony_ci self.assertEqual(image.get(4, 6), self.colorlist(0, 0, 0)) 2837db96d56Sopenharmony_ci 2847db96d56Sopenharmony_ci def test_copy(self): 2857db96d56Sopenharmony_ci image = self.create() 2867db96d56Sopenharmony_ci image2 = image.copy() 2877db96d56Sopenharmony_ci self.assertEqual(image2.width(), 16) 2887db96d56Sopenharmony_ci self.assertEqual(image2.height(), 16) 2897db96d56Sopenharmony_ci self.assertEqual(image.get(4, 6), image.get(4, 6)) 2907db96d56Sopenharmony_ci 2917db96d56Sopenharmony_ci def test_subsample(self): 2927db96d56Sopenharmony_ci image = self.create() 2937db96d56Sopenharmony_ci image2 = image.subsample(2, 3) 2947db96d56Sopenharmony_ci self.assertEqual(image2.width(), 8) 2957db96d56Sopenharmony_ci self.assertEqual(image2.height(), 6) 2967db96d56Sopenharmony_ci self.assertEqual(image2.get(2, 2), image.get(4, 6)) 2977db96d56Sopenharmony_ci 2987db96d56Sopenharmony_ci image2 = image.subsample(2) 2997db96d56Sopenharmony_ci self.assertEqual(image2.width(), 8) 3007db96d56Sopenharmony_ci self.assertEqual(image2.height(), 8) 3017db96d56Sopenharmony_ci self.assertEqual(image2.get(2, 3), image.get(4, 6)) 3027db96d56Sopenharmony_ci 3037db96d56Sopenharmony_ci def test_zoom(self): 3047db96d56Sopenharmony_ci image = self.create() 3057db96d56Sopenharmony_ci image2 = image.zoom(2, 3) 3067db96d56Sopenharmony_ci self.assertEqual(image2.width(), 32) 3077db96d56Sopenharmony_ci self.assertEqual(image2.height(), 48) 3087db96d56Sopenharmony_ci self.assertEqual(image2.get(8, 18), image.get(4, 6)) 3097db96d56Sopenharmony_ci self.assertEqual(image2.get(9, 20), image.get(4, 6)) 3107db96d56Sopenharmony_ci 3117db96d56Sopenharmony_ci image2 = image.zoom(2) 3127db96d56Sopenharmony_ci self.assertEqual(image2.width(), 32) 3137db96d56Sopenharmony_ci self.assertEqual(image2.height(), 32) 3147db96d56Sopenharmony_ci self.assertEqual(image2.get(8, 12), image.get(4, 6)) 3157db96d56Sopenharmony_ci self.assertEqual(image2.get(9, 13), image.get(4, 6)) 3167db96d56Sopenharmony_ci 3177db96d56Sopenharmony_ci def test_put(self): 3187db96d56Sopenharmony_ci image = self.create() 3197db96d56Sopenharmony_ci image.put('{red green} {blue yellow}', to=(4, 6)) 3207db96d56Sopenharmony_ci self.assertEqual(image.get(4, 6), self.colorlist(255, 0, 0)) 3217db96d56Sopenharmony_ci self.assertEqual(image.get(5, 6), 3227db96d56Sopenharmony_ci self.colorlist(0, 128 if tkinter.TkVersion >= 8.6 3237db96d56Sopenharmony_ci else 255, 0)) 3247db96d56Sopenharmony_ci self.assertEqual(image.get(4, 7), self.colorlist(0, 0, 255)) 3257db96d56Sopenharmony_ci self.assertEqual(image.get(5, 7), self.colorlist(255, 255, 0)) 3267db96d56Sopenharmony_ci 3277db96d56Sopenharmony_ci image.put((('#f00', '#00ff00'), ('#000000fff', '#ffffffff0000'))) 3287db96d56Sopenharmony_ci self.assertEqual(image.get(0, 0), self.colorlist(255, 0, 0)) 3297db96d56Sopenharmony_ci self.assertEqual(image.get(1, 0), self.colorlist(0, 255, 0)) 3307db96d56Sopenharmony_ci self.assertEqual(image.get(0, 1), self.colorlist(0, 0, 255)) 3317db96d56Sopenharmony_ci self.assertEqual(image.get(1, 1), self.colorlist(255, 255, 0)) 3327db96d56Sopenharmony_ci 3337db96d56Sopenharmony_ci def test_get(self): 3347db96d56Sopenharmony_ci image = self.create() 3357db96d56Sopenharmony_ci self.assertEqual(image.get(4, 6), self.colorlist(62, 116, 162)) 3367db96d56Sopenharmony_ci self.assertEqual(image.get(0, 0), self.colorlist(0, 0, 0)) 3377db96d56Sopenharmony_ci self.assertEqual(image.get(15, 15), self.colorlist(0, 0, 0)) 3387db96d56Sopenharmony_ci self.assertRaises(tkinter.TclError, image.get, -1, 0) 3397db96d56Sopenharmony_ci self.assertRaises(tkinter.TclError, image.get, 0, -1) 3407db96d56Sopenharmony_ci self.assertRaises(tkinter.TclError, image.get, 16, 15) 3417db96d56Sopenharmony_ci self.assertRaises(tkinter.TclError, image.get, 15, 16) 3427db96d56Sopenharmony_ci 3437db96d56Sopenharmony_ci def test_write(self): 3447db96d56Sopenharmony_ci image = self.create() 3457db96d56Sopenharmony_ci self.addCleanup(os_helper.unlink, os_helper.TESTFN) 3467db96d56Sopenharmony_ci 3477db96d56Sopenharmony_ci image.write(os_helper.TESTFN) 3487db96d56Sopenharmony_ci image2 = tkinter.PhotoImage('::img::test2', master=self.root, 3497db96d56Sopenharmony_ci format='ppm', 3507db96d56Sopenharmony_ci file=os_helper.TESTFN) 3517db96d56Sopenharmony_ci self.assertEqual(str(image2), '::img::test2') 3527db96d56Sopenharmony_ci self.assertEqual(image2.type(), 'photo') 3537db96d56Sopenharmony_ci self.assertEqual(image2.width(), 16) 3547db96d56Sopenharmony_ci self.assertEqual(image2.height(), 16) 3557db96d56Sopenharmony_ci self.assertEqual(image2.get(0, 0), image.get(0, 0)) 3567db96d56Sopenharmony_ci self.assertEqual(image2.get(15, 8), image.get(15, 8)) 3577db96d56Sopenharmony_ci 3587db96d56Sopenharmony_ci image.write(os_helper.TESTFN, format='gif', from_coords=(4, 6, 6, 9)) 3597db96d56Sopenharmony_ci image3 = tkinter.PhotoImage('::img::test3', master=self.root, 3607db96d56Sopenharmony_ci format='gif', 3617db96d56Sopenharmony_ci file=os_helper.TESTFN) 3627db96d56Sopenharmony_ci self.assertEqual(str(image3), '::img::test3') 3637db96d56Sopenharmony_ci self.assertEqual(image3.type(), 'photo') 3647db96d56Sopenharmony_ci self.assertEqual(image3.width(), 2) 3657db96d56Sopenharmony_ci self.assertEqual(image3.height(), 3) 3667db96d56Sopenharmony_ci self.assertEqual(image3.get(0, 0), image.get(4, 6)) 3677db96d56Sopenharmony_ci self.assertEqual(image3.get(1, 2), image.get(5, 8)) 3687db96d56Sopenharmony_ci 3697db96d56Sopenharmony_ci def test_transparency(self): 3707db96d56Sopenharmony_ci image = self.create() 3717db96d56Sopenharmony_ci self.assertEqual(image.transparency_get(0, 0), True) 3727db96d56Sopenharmony_ci self.assertEqual(image.transparency_get(4, 6), False) 3737db96d56Sopenharmony_ci image.transparency_set(4, 6, True) 3747db96d56Sopenharmony_ci self.assertEqual(image.transparency_get(4, 6), True) 3757db96d56Sopenharmony_ci image.transparency_set(4, 6, False) 3767db96d56Sopenharmony_ci self.assertEqual(image.transparency_get(4, 6), False) 3777db96d56Sopenharmony_ci 3787db96d56Sopenharmony_ci 3797db96d56Sopenharmony_ciif __name__ == "__main__": 3807db96d56Sopenharmony_ci unittest.main() 381