diff Lib/test/string_tests.py @ 23850:854583cd63c7 legacy-trunk

SF bug # 493951 string.{starts,ends}with vs slices Handle negative indices similar to slices.
author Neal Norwitz <nnorwitz@gmail.com>
date Fri, 14 Jun 2002 00:50:42 +0000
parents a90faa5f9417
children 226ba34bd998
line wrap: on
line diff
--- a/Lib/test/string_tests.py	Fri Jun 14 00:33:02 2002 +0000
+++ b/Lib/test/string_tests.py	Fri Jun 14 00:50:42 2002 +0000
@@ -223,6 +223,18 @@
     test('startswith', 'helloworld', 1, 'lowo', 3, 7)
     test('startswith', 'helloworld', 0, 'lowo', 3, 6)
 
+    # test negative indices in startswith
+    test('startswith', 'hello', 1, 'he', 0, -1)
+    test('startswith', 'hello', 1, 'he', -53, -1)
+    test('startswith', 'hello', 0, 'hello', 0, -1)
+    test('startswith', 'hello', 0, 'hello world', -1, -10)
+    test('startswith', 'hello', 0, 'ello', -5)
+    test('startswith', 'hello', 1, 'ello', -4)
+    test('startswith', 'hello', 0, 'o', -2)
+    test('startswith', 'hello', 1, 'o', -1)
+    test('startswith', 'hello', 1, '', -3, -3)
+    test('startswith', 'hello', 0, 'lo', -9)
+
     test('endswith', 'hello', 1, 'lo')
     test('endswith', 'hello', 0, 'he')
     test('endswith', 'hello', 1, '')
@@ -238,6 +250,21 @@
     test('endswith', 'ab', 0, 'ab', 0, 1)
     test('endswith', 'ab', 0, 'ab', 0, 0)
 
+    # test negative indices in endswith
+    test('endswith', 'hello', 1, 'lo', -2)
+    test('endswith', 'hello', 0, 'he', -2)
+    test('endswith', 'hello', 1, '', -3, -3)
+    test('endswith', 'hello', 0, 'hello world', -10, -2)
+    test('endswith', 'helloworld', 0, 'worl', -6)
+    test('endswith', 'helloworld', 1, 'worl', -5, -1)
+    test('endswith', 'helloworld', 1, 'worl', -5, 9)
+    test('endswith', 'helloworld', 1, 'world', -7, 12)
+    test('endswith', 'helloworld', 1, 'lowo', -99, -3)
+    test('endswith', 'helloworld', 1, 'lowo', -8, -3)
+    test('endswith', 'helloworld', 1, 'lowo', -7, -3)
+    test('endswith', 'helloworld', 0, 'lowo', 3, -4)
+    test('endswith', 'helloworld', 0, 'lowo', -8, -2)
+
     test('zfill', '123', '123', 2)
     test('zfill', '123', '123', 3)
     test('zfill', '123', '0123', 4)