@@ -382,15 +382,21 @@ def check_get_current(getval, currval):
382382
383383 # testing values with empty string set through configure
384384 self .combo .configure (values = [1 , '' , 2 ])
385- self .assertEqual (self .combo ['values' ], ('1' , '' , '2' ))
385+ self .assertEqual (self .combo ['values' ],
386+ ('1' , '' , '2' ) if self .wantobjects else
387+ '1 {} 2' )
386388
387389 # testing values with spaces
388390 self .combo ['values' ] = ['a b' , 'a\t b' , 'a\n b' ]
389- self .assertEqual (self .combo ['values' ], ('a b' , 'a\t b' , 'a\n b' ))
391+ self .assertEqual (self .combo ['values' ],
392+ ('a b' , 'a\t b' , 'a\n b' ) if self .wantobjects else
393+ '{a b} {a\t b} {a\n b}' )
390394
391395 # testing values with special characters
392396 self .combo ['values' ] = [r'a\tb' , '"a"' , '} {' ]
393- self .assertEqual (self .combo ['values' ], (r'a\tb' , '"a"' , '} {' ))
397+ self .assertEqual (self .combo ['values' ],
398+ (r'a\tb' , '"a"' , '} {' ) if self .wantobjects else
399+ r'a\\tb {"a"} \}\ \{' )
394400
395401 # out of range
396402 self .assertRaises (tkinter .TclError , self .combo .current ,
@@ -400,7 +406,8 @@ def check_get_current(getval, currval):
400406
401407 # testing creating combobox with empty string in values
402408 combo2 = ttk .Combobox (values = [1 , 2 , '' ])
403- self .assertEqual (combo2 ['values' ], ('1' , '2' , '' ))
409+ self .assertEqual (combo2 ['values' ],
410+ ('1' , '2' , '' ) if self .wantobjects else '1 2 {}' )
404411 combo2 .destroy ()
405412
406413
@@ -654,9 +661,11 @@ def test_pane(self):
654661 child = ttk .Label ()
655662 self .paned .add (child )
656663 self .assertIsInstance (self .paned .pane (0 ), dict )
657- self .assertEqual (self .paned .pane (0 , weight = None ), 0 )
664+ self .assertEqual (self .paned .pane (0 , weight = None ),
665+ 0 if self .wantobjects else '0' )
658666 # newer form for querying a single option
659- self .assertEqual (self .paned .pane (0 , 'weight' ), 0 )
667+ self .assertEqual (self .paned .pane (0 , 'weight' ),
668+ 0 if self .wantobjects else '0' )
660669 self .assertEqual (self .paned .pane (0 ), self .paned .pane (str (child )))
661670
662671 self .assertRaises (tkinter .TclError , self .paned .pane , 0 ,
@@ -711,20 +720,25 @@ def cb_test():
711720 cbtn = ttk .Radiobutton (command = cb_test , variable = myvar , value = 0 )
712721 cbtn2 = ttk .Radiobutton (command = cb_test , variable = myvar , value = 1 )
713722
723+ if self .wantobjects :
724+ conv = lambda x : x
725+ else :
726+ conv = int
727+
714728 res = cbtn .invoke ()
715729 self .assertEqual (res , "cb test called" )
716- self .assertEqual (cbtn ['value' ], myvar .get ())
730+ self .assertEqual (conv ( cbtn ['value' ]) , myvar .get ())
717731 self .assertEqual (myvar .get (),
718- cbtn .tk .globalgetvar (cbtn ['variable' ]))
732+ conv ( cbtn .tk .globalgetvar (cbtn ['variable' ]) ))
719733 self .assertTrue (success )
720734
721735 cbtn2 ['command' ] = ''
722736 res = cbtn2 .invoke ()
723737 self .assertEqual (str (res ), '' )
724738 self .assertLessEqual (len (success ), 1 )
725- self .assertEqual (cbtn2 ['value' ], myvar .get ())
739+ self .assertEqual (conv ( cbtn2 ['value' ]) , myvar .get ())
726740 self .assertEqual (myvar .get (),
727- cbtn .tk .globalgetvar (cbtn ['variable' ]))
741+ conv ( cbtn .tk .globalgetvar (cbtn ['variable' ]) ))
728742
729743 self .assertEqual (str (cbtn ['variable' ]), str (cbtn2 ['variable' ]))
730744
@@ -812,10 +826,15 @@ def test_custom_event(self):
812826
813827
814828 def test_get (self ):
829+ if self .wantobjects :
830+ conv = lambda x : x
831+ else :
832+ conv = float
833+
815834 scale_width = self .scale .winfo_width ()
816835 self .assertEqual (self .scale .get (scale_width , 0 ), self .scale ['to' ])
817836
818- self .assertEqual (self .scale .get (0 , 0 ), self .scale ['from' ])
837+ self .assertEqual (conv ( self .scale .get (0 , 0 )), conv ( self .scale ['from' ]) )
819838 self .assertEqual (self .scale .get (), self .scale ['value' ])
820839 self .scale ['value' ] = 30
821840 self .assertEqual (self .scale .get (), self .scale ['value' ])
@@ -825,32 +844,37 @@ def test_get(self):
825844
826845
827846 def test_set (self ):
847+ if self .wantobjects :
848+ conv = lambda x : x
849+ else :
850+ conv = float
851+
828852 # set restricts the max/min values according to the current range
829- max = self .scale ['to' ]
853+ max = conv ( self .scale ['to' ])
830854 new_max = max + 10
831855 self .scale .set (new_max )
832- self .assertEqual (self .scale .get (), max )
833- min = self .scale ['from' ]
856+ self .assertEqual (conv ( self .scale .get () ), max )
857+ min = conv ( self .scale ['from' ])
834858 self .scale .set (min - 1 )
835- self .assertEqual (self .scale .get (), min )
859+ self .assertEqual (conv ( self .scale .get () ), min )
836860
837861 # changing directly the variable doesn't impose this limitation tho
838862 var = tkinter .DoubleVar ()
839863 self .scale ['variable' ] = var
840864 var .set (max + 5 )
841- self .assertEqual (self .scale .get (), var .get ())
842- self .assertEqual (self .scale .get (), max + 5 )
865+ self .assertEqual (conv ( self .scale .get () ), var .get ())
866+ self .assertEqual (conv ( self .scale .get () ), max + 5 )
843867 del var
844868
845869 # the same happens with the value option
846870 self .scale ['value' ] = max + 10
847- self .assertEqual (self .scale .get (), max + 10 )
848- self .assertEqual (self .scale .get (), self .scale ['value' ])
871+ self .assertEqual (conv ( self .scale .get () ), max + 10 )
872+ self .assertEqual (conv ( self .scale .get ()), conv ( self .scale ['value' ]) )
849873
850874 # nevertheless, note that the max/min values we can get specifying
851875 # x, y coords are the ones according to the current range
852- self .assertEqual (self .scale .get (0 , 0 ), min )
853- self .assertEqual (self .scale .get (self .scale .winfo_width (), 0 ), max )
876+ self .assertEqual (conv ( self .scale .get (0 , 0 ) ), min )
877+ self .assertEqual (conv ( self .scale .get (self .scale .winfo_width (), 0 ) ), max )
854878
855879 self .assertRaises (tkinter .TclError , self .scale .set , None )
856880
@@ -1204,6 +1228,8 @@ def test_bbox(self):
12041228 self .tv .column ('test' , width = 50 )
12051229 bbox_column0 = self .tv .bbox (children [0 ], 0 )
12061230 root_width = self .tv .column ('#0' , width = None )
1231+ if not self .wantobjects :
1232+ root_width = int (root_width )
12071233 self .assertEqual (bbox_column0 [0 ], bbox [0 ] + root_width )
12081234
12091235 # verify that bbox of a closed item is the empty string
@@ -1243,12 +1269,15 @@ def test_column(self):
12431269 # return a dict with all options/values
12441270 self .assertIsInstance (self .tv .column ('#0' ), dict )
12451271 # return a single value of the given option
1246- self .assertIsInstance (self .tv .column ('#0' , width = None ), int )
1272+ if self .wantobjects :
1273+ self .assertIsInstance (self .tv .column ('#0' , width = None ), int )
12471274 # set a new value for an option
12481275 self .tv .column ('#0' , width = 10 )
12491276 # testing new way to get option value
1250- self .assertEqual (self .tv .column ('#0' , 'width' ), 10 )
1251- self .assertEqual (self .tv .column ('#0' , width = None ), 10 )
1277+ self .assertEqual (self .tv .column ('#0' , 'width' ),
1278+ 10 if self .wantobjects else '10' )
1279+ self .assertEqual (self .tv .column ('#0' , width = None ),
1280+ 10 if self .wantobjects else '10' )
12521281 # check read-only option
12531282 self .assertRaises (tkinter .TclError , self .tv .column , '#0' , id = 'X' )
12541283
@@ -1461,11 +1490,14 @@ def test_insert_item(self):
14611490 # unicode values
14621491 value = '\xe1 ba'
14631492 item = self .tv .insert ('' , 'end' , values = (value , ))
1464- self .assertEqual (self .tv .item (item , 'values' ), (value , ))
1465- self .assertEqual (self .tv .item (item , values = None ), (value , ))
1493+ self .assertEqual (self .tv .item (item , 'values' ),
1494+ (value ,) if self .wantobjects else value )
1495+ self .assertEqual (self .tv .item (item , values = None ),
1496+ (value ,) if self .wantobjects else value )
14661497
1467- self .tv .item (item , values = list (self .tv .item (item , values = None )))
1468- self .assertEqual (self .tv .item (item , values = None ), (value , ))
1498+ self .tv .item (item , values = self .root .splitlist (self .tv .item (item , values = None )))
1499+ self .assertEqual (self .tv .item (item , values = None ),
1500+ (value ,) if self .wantobjects else value )
14691501
14701502 self .assertIsInstance (self .tv .item (item ), dict )
14711503
@@ -1475,17 +1507,21 @@ def test_insert_item(self):
14751507
14761508 # item tags
14771509 item = self .tv .insert ('' , 'end' , tags = [1 , 2 , value ])
1478- self .assertEqual (self .tv .item (item , tags = None ), ('1' , '2' , value ))
1510+ self .assertEqual (self .tv .item (item , tags = None ),
1511+ ('1' , '2' , value ) if self .wantobjects else
1512+ '1 2 %s' % value )
14791513 self .tv .item (item , tags = [])
14801514 self .assertFalse (self .tv .item (item , tags = None ))
14811515 self .tv .item (item , tags = (1 , 2 ))
1482- self .assertEqual (self .tv .item (item , tags = None ), ('1' , '2' ))
1516+ self .assertEqual (self .tv .item (item , tags = None ),
1517+ ('1' , '2' ) if self .wantobjects else '1 2' )
14831518
14841519 # values with spaces
14851520 item = self .tv .insert ('' , 'end' , values = ('a b c' ,
14861521 '%s %s' % (value , value )))
14871522 self .assertEqual (self .tv .item (item , values = None ),
1488- ('a b c' , '%s %s' % (value , value )))
1523+ ('a b c' , '%s %s' % (value , value )) if self .wantobjects else
1524+ '{a b c} {%s %s}' % (value , value ))
14891525
14901526 # text
14911527 self .assertEqual (self .tv .item (
@@ -1502,19 +1538,24 @@ def test_set(self):
15021538 self .assertEqual (self .tv .set (item ), {'A' : 'a' , 'B' : 'b' })
15031539
15041540 self .tv .set (item , 'B' , 'a' )
1505- self .assertEqual (self .tv .item (item , values = None ), ('a' , 'a' ))
1541+ self .assertEqual (self .tv .item (item , values = None ),
1542+ ('a' , 'a' ) if self .wantobjects else 'a a' )
15061543
15071544 self .tv ['columns' ] = ['B' ]
15081545 self .assertEqual (self .tv .set (item ), {'B' : 'a' })
15091546
15101547 self .tv .set (item , 'B' , 'b' )
15111548 self .assertEqual (self .tv .set (item , column = 'B' ), 'b' )
1512- self .assertEqual (self .tv .item (item , values = None ), ('b' , 'a' ))
1549+ self .assertEqual (self .tv .item (item , values = None ),
1550+ ('b' , 'a' ) if self .wantobjects else 'b a' )
15131551
15141552 self .tv .set (item , 'B' , 123 )
1515- self .assertEqual (self .tv .set (item , 'B' ), 123 )
1516- self .assertEqual (self .tv .item (item , values = None ), (123 , 'a' ))
1517- self .assertEqual (self .tv .set (item ), {'B' : 123 })
1553+ self .assertEqual (self .tv .set (item , 'B' ),
1554+ 123 if self .wantobjects else '123' )
1555+ self .assertEqual (self .tv .item (item , values = None ),
1556+ (123 , 'a' ) if self .wantobjects else '123 a' )
1557+ self .assertEqual (self .tv .set (item ),
1558+ {'B' : 123 } if self .wantobjects else {'B' : '123' })
15181559
15191560 # inexistent column
15201561 self .assertRaises (tkinter .TclError , self .tv .set , item , 'A' )
0 commit comments