[Python-checkins] python/dist/src/Lib/test test_builtin.py,1.8,1.9
doerwalter@users.sourceforge.net
doerwalter@users.sourceforge.net
Tue, 04 Feb 2003 12:24:48 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv25412/Lib/test
Modified Files:
test_builtin.py
Log Message:
Make sure filter() never returns tuple, str or unicode
subclasses. (Discussed in SF patch #665835)
Index: test_builtin.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_builtin.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** test_builtin.py 4 Feb 2003 17:04:01 -0000 1.8
--- test_builtin.py 4 Feb 2003 20:24:45 -0000 1.9
***************
*** 409,412 ****
--- 409,435 ----
)
+ def test_filter_subclasses(self):
+ # test, that filter() never returns tuple, str or unicode subclasses
+ funcs = (None, lambda x: True)
+ class tuple2(tuple):
+ pass
+ class str2(str):
+ pass
+ inputs = {
+ tuple2: [(), (1,2,3)],
+ str2: ["", "123"]
+ }
+ if have_unicode:
+ class unicode2(unicode):
+ pass
+ inputs[unicode2] = [unicode(), unicode("123")]
+
+ for func in funcs:
+ for (cls, inps) in inputs.iteritems():
+ for inp in inps:
+ out = filter(func, cls(inp))
+ self.assertEqual(inp, out)
+ self.assert_(not isinstance(out, cls))
+
def test_float(self):
self.assertEqual(float(3.14), 3.14)