diff options
author | Guido van Rossum <guido@python.org> | 2001-12-11 04:37:34 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-12-11 04:37:34 (GMT) |
commit | 29d260670eff2d04b98d737ad14928163602a41a (patch) | |
tree | 6cc40f6d54623d96e5784f573c7189742b14b129 /Lib/test/test_descr.py | |
parent | 2a64f4693ddcd552c4c6e709eaaba7cf829464d8 (diff) | |
download | cpython-29d260670eff2d04b98d737ad14928163602a41a.zip cpython-29d260670eff2d04b98d737ad14928163602a41a.tar.gz cpython-29d260670eff2d04b98d737ad14928163602a41a.tar.bz2 |
Additional coverage tests by Neil Norwitz.
(SF patch #491418, #491420, #491421.)
Diffstat (limited to 'Lib/test/test_descr.py')
-rw-r--r-- | Lib/test/test_descr.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index a0958df..1ec7c19 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -768,6 +768,12 @@ def metaclass(): vereq(type(a), C) vereq(T.counter, 1) + class C(object): pass + c = C() + try: c() + except TypeError: pass + else: raise TestError, "calling object w/o call method should raise TypeError" + def pymods(): if verbose: print "Testing Python subclass of module..." log = [] @@ -2607,6 +2613,12 @@ def delhook(): del c vereq(log, [1]) + class D(object): pass + d = D() + try: del d[0] + except TypeError: pass + else: raise TestFailed, "invalid del() didn't raise TypeError" + def hashinherit(): if verbose: print "Testing hash of mutable subclasses..." @@ -2630,6 +2642,59 @@ def hashinherit(): else: raise TestFailed, "hash() of list subclass should fail" +def strops(): + try: 'a' + 5 + except TypeError: pass + else: raise TestFailed, "'' + 5 doesn't raise TypeError" + + try: ''.split('') + except ValueError: pass + else: raise TestFailed, "''.split('') doesn't raise ValueError" + + try: ''.join([0]) + except TypeError: pass + else: raise TestFailed, "''.join([0]) doesn't raise TypeError" + + try: ''.rindex('5') + except ValueError: pass + else: raise TestFailed, "''.rindex('5') doesn't raise ValueError" + + try: ''.replace('', '') + except ValueError: pass + else: raise TestFailed, "''.replace('', '') doesn't raise ValueError" + + try: '%(n)s' % None + except TypeError: pass + else: raise TestFailed, "'%(n)s' % None doesn't raise TypeError" + + try: '%(n' % {} + except ValueError: pass + else: raise TestFailed, "'%(n' % {} '' doesn't raise ValueError" + + try: '%*s' % ('abc') + except TypeError: pass + else: raise TestFailed, "'%*s' % ('abc') doesn't raise TypeError" + + try: '%*.*s' % ('abc', 5) + except TypeError: pass + else: raise TestFailed, "'%*.*s' % ('abc', 5) doesn't raise TypeError" + + try: '%s' % (1, 2) + except TypeError: pass + else: raise TestFailed, "'%s' % (1, 2) doesn't raise TypeError" + + try: '%' % None + except ValueError: pass + else: raise TestFailed, "'%' % None doesn't raise ValueError" + + vereq('534253'.isdigit(), 1) + vereq('534253x'.isdigit(), 0) + vereq('%c' % 5, '\x05') + vereq('%c' % '5', '5') + + + + def test_main(): class_docstrings() lists() @@ -2683,6 +2748,7 @@ def test_main(): kwdargs() delhook() hashinherit() + strops() if verbose: print "All OK" if __name__ == "__main__": |