mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 408b6d34de
			
		
	
	
		408b6d34de
		
	
	
	
	
		
			
			imports of test modules now import from the test package. Other related oddities are also fixed (like DeprecationWarning filters that weren't specifying the full import part, etc.). Also did a general code cleanup to remove all "from test.test_support import *"'s. Other from...import *'s weren't changed.
		
			
				
	
	
		
			134 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import warnings
 | |
| warnings.filterwarnings("ignore", "strop functions are obsolete;",
 | |
|                         DeprecationWarning,
 | |
|                         r'test.test_strop|unittest')
 | |
| import strop
 | |
| import unittest
 | |
| from test import test_support
 | |
| 
 | |
| 
 | |
| class StropFunctionTestCase(unittest.TestCase):
 | |
| 
 | |
|     def test_atoi(self):
 | |
|         self.assert_(strop.atoi(" 1 ") == 1)
 | |
|         self.assertRaises(ValueError, strop.atoi, " 1x")
 | |
|         self.assertRaises(ValueError, strop.atoi, " x1 ")
 | |
| 
 | |
|     def test_atol(self):
 | |
|         self.assert_(strop.atol(" 1 ") == 1L)
 | |
|         self.assertRaises(ValueError, strop.atol, " 1x")
 | |
|         self.assertRaises(ValueError, strop.atol, " x1 ")
 | |
| 
 | |
|     def test_atof(self):
 | |
|         self.assert_(strop.atof(" 1 ") == 1.0)
 | |
|         self.assertRaises(ValueError, strop.atof, " 1x")
 | |
|         self.assertRaises(ValueError, strop.atof, " x1 ")
 | |
| 
 | |
|     def test_capitalize(self):
 | |
|         self.assert_(strop.capitalize(" hello ") == " hello ")
 | |
|         self.assert_(strop.capitalize("hello ") == "Hello ")
 | |
| 
 | |
|     def test_find(self):
 | |
|         self.assert_(strop.find("abcdefghiabc", "abc") == 0)
 | |
|         self.assert_(strop.find("abcdefghiabc", "abc", 1) == 9)
 | |
|         self.assert_(strop.find("abcdefghiabc", "def", 4) == -1)
 | |
| 
 | |
|     def test_rfind(self):
 | |
|         self.assert_(strop.rfind("abcdefghiabc", "abc") == 9)
 | |
| 
 | |
|     def test_lower(self):
 | |
|         self.assert_(strop.lower("HeLLo") == "hello")
 | |
| 
 | |
|     def test_upper(self):
 | |
|         self.assert_(strop.upper("HeLLo") == "HELLO")
 | |
| 
 | |
|     def test_swapcase(self):
 | |
|         self.assert_(strop.swapcase("HeLLo cOmpUteRs") == "hEllO CoMPuTErS")
 | |
| 
 | |
|     def test_strip(self):
 | |
|         self.assert_(strop.strip(" \t\n hello \t\n ") == "hello")
 | |
| 
 | |
|     def test_lstrip(self):
 | |
|         self.assert_(strop.lstrip(" \t\n hello \t\n ") == "hello \t\n ")
 | |
| 
 | |
|     def test_rstrip(self):
 | |
|         self.assert_(strop.rstrip(" \t\n hello \t\n ") == " \t\n hello")
 | |
| 
 | |
|     def test_replace(self):
 | |
|         replace = strop.replace
 | |
|         self.assert_(replace("one!two!three!", '!', '@', 1)
 | |
|                      == "one@two!three!")
 | |
|         self.assert_(replace("one!two!three!", '!', '@', 2)
 | |
|                      == "one@two@three!")
 | |
|         self.assert_(replace("one!two!three!", '!', '@', 3)
 | |
|                      == "one@two@three@")
 | |
|         self.assert_(replace("one!two!three!", '!', '@', 4)
 | |
|                      == "one@two@three@")
 | |
| 
 | |
|         # CAUTION: a replace count of 0 means infinity only to strop,
 | |
|         # not to the string .replace() method or to the
 | |
|         # string.replace() function.
 | |
| 
 | |
|         self.assert_(replace("one!two!three!", '!', '@', 0)
 | |
|                      == "one@two@three@")
 | |
|         self.assert_(replace("one!two!three!", '!', '@')
 | |
|                      == "one@two@three@")
 | |
|         self.assert_(replace("one!two!three!", 'x', '@')
 | |
|                      == "one!two!three!")
 | |
|         self.assert_(replace("one!two!three!", 'x', '@', 2)
 | |
|                      == "one!two!three!")
 | |
| 
 | |
|     def test_split(self):
 | |
|         split = strop.split
 | |
|         self.assert_(split("this is the split function")
 | |
|                      == ['this', 'is', 'the', 'split', 'function'])
 | |
|         self.assert_(split("a|b|c|d", '|') == ['a', 'b', 'c', 'd'])
 | |
|         self.assert_(split("a|b|c|d", '|', 2) == ['a', 'b', 'c|d'])
 | |
|         self.assert_(split("a b c d", None, 1) == ['a', 'b c d'])
 | |
|         self.assert_(split("a b c d", None, 2) == ['a', 'b', 'c d'])
 | |
|         self.assert_(split("a b c d", None, 3) == ['a', 'b', 'c', 'd'])
 | |
|         self.assert_(split("a b c d", None, 4) == ['a', 'b', 'c', 'd'])
 | |
|         self.assert_(split("a b c d", None, 0) == ['a', 'b', 'c', 'd'])
 | |
|         self.assert_(split("a  b  c  d", None, 2) ==  ['a', 'b', 'c  d'])
 | |
| 
 | |
|     def test_join(self):
 | |
|         self.assert_(strop.join(['a', 'b', 'c', 'd']) == 'a b c d')
 | |
|         self.assert_(strop.join(('a', 'b', 'c', 'd'), '') == 'abcd')
 | |
|         self.assert_(strop.join(Sequence()) == 'w x y z')
 | |
| 
 | |
|         # try a few long ones
 | |
|         self.assert_(strop.join(['x' * 100] * 100, ':')
 | |
|                      == (('x' * 100) + ":") * 99 + "x" * 100)
 | |
|         self.assert_(strop.join(('x' * 100,) * 100, ':')
 | |
|                      == (('x' * 100) + ":") * 99 + "x" * 100)
 | |
| 
 | |
|     def test_maketrans(self):
 | |
|         self.assert_(strop.maketrans("abc", "xyz") == transtable)
 | |
|         self.assertRaises(ValueError, strop.maketrans, "abc", "xyzq")
 | |
| 
 | |
|     def test_translate(self):
 | |
|         self.assert_(strop.translate("xyzabcdef", transtable, "def")
 | |
|                      == "xyzxyz")
 | |
| 
 | |
|     def test_data_attributes(self):
 | |
|         strop.lowercase
 | |
|         strop.uppercase
 | |
|         strop.whitespace
 | |
| 
 | |
| 
 | |
| transtable = '\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`xyzdefghijklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377'
 | |
| 
 | |
| 
 | |
| # join() now works with any sequence type.
 | |
| class Sequence:
 | |
|     def __init__(self): self.seq = 'wxyz'
 | |
|     def __len__(self): return len(self.seq)
 | |
|     def __getitem__(self, i): return self.seq[i]
 | |
| 
 | |
| 
 | |
| def test_main():
 | |
|     test_support.run_unittest(StropFunctionTestCase)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     test_main()
 |