MCPcopy Index your code
hub / github.com/python/cpython / SymtableTest

Class SymtableTest

Lib/test/test_symtable.py:181–616  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179
180
181class SymtableTest(unittest.TestCase):
182
183 top = symtable.symtable(TEST_CODE, "?", "exec")
184 # These correspond to scopes in TEST_CODE
185 Mine = find_block(top, "Mine")
186
187 a_method = find_block(Mine, "a_method")
188 spam = find_block(top, "spam")
189 internal = find_block(spam, "internal")
190 other_internal = find_block(spam, "other_internal")
191 foo = find_block(top, "foo")
192 Alias = find_block(top, "Alias")
193 GenericAlias = find_block(top, "GenericAlias")
194 GenericAlias_inner = find_block(GenericAlias, "GenericAlias")
195 generic_spam = find_block(top, "generic_spam")
196 generic_spam_inner = find_block(generic_spam, "generic_spam")
197 GenericMine = find_block(top, "GenericMine")
198 GenericMine_inner = find_block(GenericMine, "GenericMine")
199 T = find_block(GenericMine, "T")
200 U = find_block(GenericMine, "U")
201
202 def test_type(self):
203 self.assertEqual(self.top.get_type(), "module")
204 self.assertEqual(self.Mine.get_type(), "class")
205 self.assertEqual(self.a_method.get_type(), "function")
206 self.assertEqual(self.spam.get_type(), "function")
207 self.assertEqual(self.internal.get_type(), "function")
208 self.assertEqual(self.foo.get_type(), "function")
209 self.assertEqual(self.Alias.get_type(), "type alias")
210 self.assertEqual(self.GenericAlias.get_type(), "type parameters")
211 self.assertEqual(self.GenericAlias_inner.get_type(), "type alias")
212 self.assertEqual(self.generic_spam.get_type(), "type parameters")
213 self.assertEqual(self.generic_spam_inner.get_type(), "function")
214 self.assertEqual(self.GenericMine.get_type(), "type parameters")
215 self.assertEqual(self.GenericMine_inner.get_type(), "class")
216 self.assertEqual(self.T.get_type(), "type variable")
217 self.assertEqual(self.U.get_type(), "type variable")
218
219 def test_id(self):
220 self.assertGreater(self.top.get_id(), 0)
221 self.assertGreater(self.Mine.get_id(), 0)
222 self.assertGreater(self.a_method.get_id(), 0)
223 self.assertGreater(self.spam.get_id(), 0)
224 self.assertGreater(self.internal.get_id(), 0)
225 self.assertGreater(self.foo.get_id(), 0)
226 self.assertGreater(self.Alias.get_id(), 0)
227 self.assertGreater(self.GenericAlias.get_id(), 0)
228 self.assertGreater(self.generic_spam.get_id(), 0)
229 self.assertGreater(self.GenericMine.get_id(), 0)
230
231 def test_optimized(self):
232 self.assertFalse(self.top.is_optimized())
233
234 self.assertTrue(self.spam.is_optimized())
235
236 def test_nested(self):
237 self.assertFalse(self.top.is_nested())
238 self.assertFalse(self.Mine.is_nested())

Callers

nothing calls this directly

Calls 1

find_blockFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…