source: python/trunk/Lib/test/test_call.py

Last change on this file was 391, checked in by dmik, 11 years ago

python: Merge vendor 2.7.6 to trunk.

  • Property svn:eol-style set to native
File size: 3.2 KB
Line 
1import unittest
2from test import test_support
3
4# The test cases here cover several paths through the function calling
5# code. They depend on the METH_XXX flag that is used to define a C
6# function, which can't be verified from Python. If the METH_XXX decl
7# for a C function changes, these tests may not cover the right paths.
8
9class CFunctionCalls(unittest.TestCase):
10
11 def test_varargs0(self):
12 self.assertRaises(TypeError, {}.has_key)
13
14 def test_varargs1(self):
15 with test_support.check_py3k_warnings():
16 {}.has_key(0)
17
18 def test_varargs2(self):
19 self.assertRaises(TypeError, {}.has_key, 0, 1)
20
21 def test_varargs0_ext(self):
22 try:
23 {}.has_key(*())
24 except TypeError:
25 pass
26
27 def test_varargs1_ext(self):
28 with test_support.check_py3k_warnings():
29 {}.has_key(*(0,))
30
31 def test_varargs2_ext(self):
32 try:
33 with test_support.check_py3k_warnings():
34 {}.has_key(*(1, 2))
35 except TypeError:
36 pass
37 else:
38 raise RuntimeError
39
40 def test_varargs0_kw(self):
41 self.assertRaises(TypeError, {}.has_key, x=2)
42
43 def test_varargs1_kw(self):
44 self.assertRaises(TypeError, {}.has_key, x=2)
45
46 def test_varargs2_kw(self):
47 self.assertRaises(TypeError, {}.has_key, x=2, y=2)
48
49 def test_oldargs0_0(self):
50 {}.keys()
51
52 def test_oldargs0_1(self):
53 self.assertRaises(TypeError, {}.keys, 0)
54
55 def test_oldargs0_2(self):
56 self.assertRaises(TypeError, {}.keys, 0, 1)
57
58 def test_oldargs0_0_ext(self):
59 {}.keys(*())
60
61 def test_oldargs0_1_ext(self):
62 try:
63 {}.keys(*(0,))
64 except TypeError:
65 pass
66 else:
67 raise RuntimeError
68
69 def test_oldargs0_2_ext(self):
70 try:
71 {}.keys(*(1, 2))
72 except TypeError:
73 pass
74 else:
75 raise RuntimeError
76
77 def test_oldargs0_0_kw(self):
78 try:
79 {}.keys(x=2)
80 except TypeError:
81 pass
82 else:
83 raise RuntimeError
84
85 def test_oldargs0_1_kw(self):
86 self.assertRaises(TypeError, {}.keys, x=2)
87
88 def test_oldargs0_2_kw(self):
89 self.assertRaises(TypeError, {}.keys, x=2, y=2)
90
91 def test_oldargs1_0(self):
92 self.assertRaises(TypeError, [].count)
93
94 def test_oldargs1_1(self):
95 [].count(1)
96
97 def test_oldargs1_2(self):
98 self.assertRaises(TypeError, [].count, 1, 2)
99
100 def test_oldargs1_0_ext(self):
101 try:
102 [].count(*())
103 except TypeError:
104 pass
105 else:
106 raise RuntimeError
107
108 def test_oldargs1_1_ext(self):
109 [].count(*(1,))
110
111 def test_oldargs1_2_ext(self):
112 try:
113 [].count(*(1, 2))
114 except TypeError:
115 pass
116 else:
117 raise RuntimeError
118
119 def test_oldargs1_0_kw(self):
120 self.assertRaises(TypeError, [].count, x=2)
121
122 def test_oldargs1_1_kw(self):
123 self.assertRaises(TypeError, [].count, {}, x=2)
124
125 def test_oldargs1_2_kw(self):
126 self.assertRaises(TypeError, [].count, x=2, y=2)
127
128
129def test_main():
130 test_support.run_unittest(CFunctionCalls)
131
132
133if __name__ == "__main__":
134 test_main()
Note: See TracBrowser for help on using the repository browser.