]> granicus.if.org Git - python/commitdiff
Harness can now test object methods directly, if they aren't available
authorBarry Warsaw <barry@python.org>
Fri, 11 Jun 1999 17:48:07 +0000 (17:48 +0000)
committerBarry Warsaw <barry@python.org>
Fri, 11 Jun 1999 17:48:07 +0000 (17:48 +0000)
in the string module.

Add a bunch of new tests for extended startswith/endswith arguments.

Lib/test/test_string.py

index d5ea17815e8c300c525fcf50fb077a1af21a14bc..2fa9dd57be34b1faf02f080ebe754a7fe5bce0da 100644 (file)
@@ -4,9 +4,13 @@ import string, sys
 def test(name, input, output, *args):
     if verbose:
         print 'string.%s%s =? %s... ' % (name, (input,) + args, output),
-    f = getattr(string, name)
     try:
-        value = apply(f, (input,) + args)
+        try:
+            f = getattr(string, name)
+            value = apply(f, (input,) + args)
+        except AttributeError:
+            f = getattr(input, name)
+            value = apply(f, args)
     except:
          value = sys.exc_type
     if value != output:
@@ -104,6 +108,14 @@ test('endswith', 'hello', 1, 'lo')
 test('endswith', 'hello', 0, 'he')
 test('endswith', 'hello', 1, '')
 test('endswith', 'hello', 0, 'hello world')
+test('endswith', 'helloworld', 0, 'worl')
+test('endswith', 'helloworld', 1, 'worl', 3, 9)
+test('endswith', 'helloworld', 1, 'world', 3, 12)
+test('endswith', 'helloworld', 1, 'lowo', 1, 7)
+test('endswith', 'helloworld', 1, 'lowo', 2, 7)
+test('endswith', 'helloworld', 1, 'lowo', 3, 7)
+test('endswith', 'helloworld', 0, 'lowo', 4, 7)
+test('endswith', 'helloworld', 0, 'lowo', 3, 8)
 
 string.whitespace
 string.lowercase