@@ -175,6 +175,66 @@ def passValue(value):
175175 self .assertEqual (passValue (f ), f )
176176 self .assertEqual (passValue ((1 , '2' , (3.4 ,))), (1 , '2' , (3.4 ,)))
177177
178+ def test_splitlist (self ):
179+ splitlist = self .interp .tk .splitlist
180+ call = self .interp .tk .call
181+ self .assertRaises (TypeError , splitlist )
182+ self .assertRaises (TypeError , splitlist , 'a' , 'b' )
183+ self .assertRaises (TypeError , splitlist , 2 )
184+ testcases = [
185+ ('2' , ('2' ,)),
186+ ('' , ()),
187+ ('{}' , ('' ,)),
188+ ('""' , ('' ,)),
189+ ('a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
190+ (b'a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
191+ ('a \u20ac ' , ('a' , '\u20ac ' )),
192+ (b'a \xe2 \x82 \xac ' , ('a' , '\u20ac ' )),
193+ ('a {b c}' , ('a' , 'b c' )),
194+ (r'a b\ c' , ('a' , 'b c' )),
195+ (('a' , 'b c' ), ('a' , 'b c' )),
196+ ('a 2' , ('a' , '2' )),
197+ (('a' , 2 ), ('a' , 2 )),
198+ ('a 3.4' , ('a' , '3.4' )),
199+ (('a' , 3.4 ), ('a' , 3.4 )),
200+ ((), ()),
201+ (call ('list' , 1 , '2' , (3.4 ,)), (1 , '2' , (3.4 ,))),
202+ ]
203+ for arg , res in testcases :
204+ self .assertEqual (splitlist (arg ), res , msg = arg )
205+ self .assertRaises (TclError , splitlist , '{' )
206+
207+ def test_split (self ):
208+ split = self .interp .tk .split
209+ call = self .interp .tk .call
210+ self .assertRaises (TypeError , split )
211+ self .assertRaises (TypeError , split , 'a' , 'b' )
212+ self .assertRaises (TypeError , split , 2 )
213+ testcases = [
214+ ('2' , '2' ),
215+ ('' , '' ),
216+ ('{}' , '' ),
217+ ('""' , '' ),
218+ ('{' , '{' ),
219+ ('a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
220+ (b'a\n b\t \r c\n ' , ('a' , 'b' , 'c' )),
221+ ('a \u20ac ' , ('a' , '\u20ac ' )),
222+ (b'a \xe2 \x82 \xac ' , ('a' , '\u20ac ' )),
223+ ('a {b c}' , ('a' , ('b' , 'c' ))),
224+ (r'a b\ c' , ('a' , ('b' , 'c' ))),
225+ (('a' , b'b c' ), ('a' , ('b' , 'c' ))),
226+ (('a' , 'b c' ), ('a' , ('b' , 'c' ))),
227+ ('a 2' , ('a' , '2' )),
228+ (('a' , 2 ), ('a' , 2 )),
229+ ('a 3.4' , ('a' , '3.4' )),
230+ (('a' , 3.4 ), ('a' , 3.4 )),
231+ (('a' , (2 , 3.4 )), ('a' , (2 , 3.4 ))),
232+ ((), ()),
233+ (call ('list' , 1 , '2' , (3.4 ,)), (1 , '2' , (3.4 ,))),
234+ ]
235+ for arg , res in testcases :
236+ self .assertEqual (split (arg ), res , msg = arg )
237+
178238
179239def test_main ():
180240 support .run_unittest (TclTest , TkinterTest )
0 commit comments