@@ -184,6 +184,66 @@ def passValue(value):
184184 self .assertEqual (passValue (f ), f )
185185 self .assertEqual (passValue ((1 , '2' , (3.4 ,))), (1 , '2' , (3.4 ,)))
186186
187+ def test_splitlist (self ):
188+ splitlist = self .interp .tk .splitlist
189+ call = self .interp .tk .call
190+ self .assertRaises (TypeError , splitlist )
191+ self .assertRaises (TypeError , splitlist , 'a' , 'b' )
192+ self .assertRaises (TypeError , splitlist , 2 )
193+ testcases = [
194+ ('2' , ('2' ,)),
195+ ('' , ()),
196+ ('{}' , ('' ,)),
197+ ('""' , ('' ,)),
198+ ('a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
199+ (u'a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
200+ ('a \xe2 \x82 \xac ' , ('a' , '\xe2 \x82 \xac ' )),
201+ (u'a \u20ac ' , ('a' , '\xe2 \x82 \xac ' )),
202+ ('a {b c}' , ('a' , 'b c' )),
203+ (r'a b\ c' , ('a' , 'b c' )),
204+ (('a' , 'b c' ), ('a' , 'b c' )),
205+ ('a 2' , ('a' , '2' )),
206+ (('a' , 2 ), ('a' , 2 )),
207+ ('a 3.4' , ('a' , '3.4' )),
208+ (('a' , 3.4 ), ('a' , 3.4 )),
209+ ((), ()),
210+ (call ('list' , 1 , '2' , (3.4 ,)), (1 , '2' , (3.4 ,))),
211+ ]
212+ for arg , res in testcases :
213+ self .assertEqual (splitlist (arg ), res )
214+ self .assertRaises (TclError , splitlist , '{' )
215+
216+ def test_split (self ):
217+ split = self .interp .tk .split
218+ call = self .interp .tk .call
219+ self .assertRaises (TypeError , split )
220+ self .assertRaises (TypeError , split , 'a' , 'b' )
221+ self .assertRaises (TypeError , split , 2 )
222+ testcases = [
223+ ('2' , '2' ),
224+ ('' , '' ),
225+ ('{}' , '' ),
226+ ('""' , '' ),
227+ ('{' , '{' ),
228+ ('a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
229+ (u'a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
230+ ('a \xe2 \x82 \xac ' , ('a' , '\xe2 \x82 \xac ' )),
231+ (u'a \u20ac ' , ('a' , '\xe2 \x82 \xac ' )),
232+ ('a {b c}' , ('a' , ('b' , 'c' ))),
233+ (r'a b\ c' , ('a' , ('b' , 'c' ))),
234+ (('a' , 'b c' ), ('a' , ('b' , 'c' ))),
235+ (('a' , u'b c' ), ('a' , ('b' , 'c' ))),
236+ ('a 2' , ('a' , '2' )),
237+ (('a' , 2 ), ('a' , 2 )),
238+ ('a 3.4' , ('a' , '3.4' )),
239+ (('a' , 3.4 ), ('a' , 3.4 )),
240+ (('a' , (2 , 3.4 )), ('a' , (2 , 3.4 ))),
241+ ((), ()),
242+ (call ('list' , 1 , '2' , (3.4 ,)), (1 , '2' , (3.4 ,))),
243+ ]
244+ for arg , res in testcases :
245+ self .assertEqual (split (arg ), res )
246+
187247
188248def test_main ():
189249 test_support .run_unittest (TclTest , TkinterTest )
0 commit comments