| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | import unittest | 
					
						
							| 
									
										
										
										
											2008-05-20 21:35:26 +00:00
										 |  |  | from test import support | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # The test cases here cover several paths through the function calling | 
					
						
							|  |  |  | # code.  They depend on the METH_XXX flag that is used to define a C | 
					
						
							|  |  |  | # function, which can't be verified from Python.  If the METH_XXX decl | 
					
						
							|  |  |  | # for a C function changes, these tests may not cover the right paths. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CFunctionCalls(unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs0(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         self.assertRaises(TypeError, {}.__contains__) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs1(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         {}.__contains__(0) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs2(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         self.assertRaises(TypeError, {}.__contains__, 0, 1) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs0_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |             {}.__contains__(*()) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs1_ext(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         {}.__contains__(*(0,)) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs2_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |             {}.__contains__(*(1, 2)) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs0_kw(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         self.assertRaises(TypeError, {}.__contains__, x=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs1_kw(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         self.assertRaises(TypeError, {}.__contains__, x=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_varargs2_kw(self): | 
					
						
							| 
									
										
										
										
											2006-08-18 22:13:04 +00:00
										 |  |  |         self.assertRaises(TypeError, {}.__contains__, x=2, y=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_0(self): | 
					
						
							|  |  |  |         {}.keys() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_1(self): | 
					
						
							|  |  |  |         self.assertRaises(TypeError, {}.keys, 0) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_2(self): | 
					
						
							|  |  |  |         self.assertRaises(TypeError, {}.keys, 0, 1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_0_ext(self): | 
					
						
							|  |  |  |         {}.keys(*()) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_1_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             {}.keys(*(0,)) | 
					
						
							|  |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_2_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             {}.keys(*(1, 2)) | 
					
						
							|  |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_0_kw(self): | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             {}.keys(x=2) | 
					
						
							|  |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_1_kw(self): | 
					
						
							|  |  |  |         self.assertRaises(TypeError, {}.keys, x=2) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs0_2_kw(self): | 
					
						
							|  |  |  |         self.assertRaises(TypeError, {}.keys, x=2, y=2) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_0(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         self.assertRaises(TypeError, [].count) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_1(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         [].count(1) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_2(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         self.assertRaises(TypeError, [].count, 1, 2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_0_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |             [].count(*()) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_1_ext(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         [].count(*(1,)) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_2_ext(self): | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |             [].count(*(1, 2)) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  |         except TypeError: | 
					
						
							|  |  |  |             pass | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             raise RuntimeError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_0_kw(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         self.assertRaises(TypeError, [].count, x=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_1_kw(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         self.assertRaises(TypeError, [].count, {}, x=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_oldargs1_2_kw(self): | 
					
						
							| 
									
										
										
										
											2004-03-04 08:25:44 +00:00
										 |  |  |         self.assertRaises(TypeError, [].count, x=2, y=2) | 
					
						
							| 
									
										
										
										
											2001-05-29 16:26:20 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-09-20 21:33:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_main(): | 
					
						
							| 
									
										
										
										
											2008-05-20 21:35:26 +00:00
										 |  |  |     support.run_unittest(CFunctionCalls) | 
					
						
							| 
									
										
										
										
											2001-09-20 21:33:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     test_main() |