@@ -341,6 +341,35 @@ def callback():
341
341
self .assertEqual (log , [1 ])
342
342
self .assertTrue (self .root .winfo_exists ())
343
343
344
+ def test_info_patchlevel (self ):
345
+ vi = self .root .info_patchlevel ()
346
+ f = tkinter .Frame (self .root )
347
+ self .assertEqual (f .info_patchlevel (), vi )
348
+ # The following is almost a copy of tests for sys.version_info.
349
+ self .assertIsInstance (vi [:], tuple )
350
+ self .assertEqual (len (vi ), 5 )
351
+ self .assertIsInstance (vi [0 ], int )
352
+ self .assertIsInstance (vi [1 ], int )
353
+ self .assertIsInstance (vi [2 ], int )
354
+ self .assertIn (vi [3 ], ("alpha" , "beta" , "candidate" , "final" ))
355
+ self .assertIsInstance (vi [4 ], int )
356
+ self .assertIsInstance (vi .major , int )
357
+ self .assertIsInstance (vi .minor , int )
358
+ self .assertIsInstance (vi .micro , int )
359
+ self .assertIn (vi .releaselevel , ("alpha" , "beta" , "final" ))
360
+ self .assertIsInstance (vi .serial , int )
361
+ self .assertEqual (vi [0 ], vi .major )
362
+ self .assertEqual (vi [1 ], vi .minor )
363
+ self .assertEqual (vi [2 ], vi .micro )
364
+ self .assertEqual (vi [3 ], vi .releaselevel )
365
+ self .assertEqual (vi [4 ], vi .serial )
366
+ self .assertTrue (vi > (1 ,0 ,0 ))
367
+ if vi .releaselevel == 'final' :
368
+ self .assertEqual (vi .serial , 0 )
369
+ else :
370
+ self .assertEqual (vi .micro , 0 )
371
+ self .assertTrue (str (vi ).startswith (f'{ vi .major } .{ vi .minor } ' ))
372
+
344
373
345
374
class DefaultRootTest (AbstractDefaultRootTest , unittest .TestCase ):
346
375
0 commit comments