@@ -40,6 +40,15 @@ def foo():
4040
4141def namespace_test(): pass
4242def namespace_test(): pass
43+
44+ type Alias = int
45+ type GenericAlias[T] = list[T]
46+
47+ def generic_spam[T](a):
48+ pass
49+
50+ class GenericMine[T: int]:
51+ pass
4352"""
4453
4554
@@ -59,20 +68,42 @@ class SymtableTest(unittest.TestCase):
5968 internal = find_block (spam , "internal" )
6069 other_internal = find_block (spam , "other_internal" )
6170 foo = find_block (top , "foo" )
71+ Alias = find_block (top , "Alias" )
72+ GenericAlias = find_block (top , "GenericAlias" )
73+ GenericAlias_inner = find_block (GenericAlias , "GenericAlias" )
74+ generic_spam = find_block (top , "generic_spam" )
75+ generic_spam_inner = find_block (generic_spam , "generic_spam" )
76+ GenericMine = find_block (top , "GenericMine" )
77+ GenericMine_inner = find_block (GenericMine , "GenericMine" )
78+ T = find_block (GenericMine , "T" )
6279
6380 def test_type (self ):
6481 self .assertEqual (self .top .get_type (), "module" )
6582 self .assertEqual (self .Mine .get_type (), "class" )
6683 self .assertEqual (self .a_method .get_type (), "function" )
6784 self .assertEqual (self .spam .get_type (), "function" )
6885 self .assertEqual (self .internal .get_type (), "function" )
86+ self .assertEqual (self .foo .get_type (), "function" )
87+ self .assertEqual (self .Alias .get_type (), "type alias" )
88+ self .assertEqual (self .GenericAlias .get_type (), "type parameter" )
89+ self .assertEqual (self .GenericAlias_inner .get_type (), "type alias" )
90+ self .assertEqual (self .generic_spam .get_type (), "type parameter" )
91+ self .assertEqual (self .generic_spam_inner .get_type (), "function" )
92+ self .assertEqual (self .GenericMine .get_type (), "type parameter" )
93+ self .assertEqual (self .GenericMine_inner .get_type (), "class" )
94+ self .assertEqual (self .T .get_type (), "TypeVar bound" )
6995
7096 def test_id (self ):
7197 self .assertGreater (self .top .get_id (), 0 )
7298 self .assertGreater (self .Mine .get_id (), 0 )
7399 self .assertGreater (self .a_method .get_id (), 0 )
74100 self .assertGreater (self .spam .get_id (), 0 )
75101 self .assertGreater (self .internal .get_id (), 0 )
102+ self .assertGreater (self .foo .get_id (), 0 )
103+ self .assertGreater (self .Alias .get_id (), 0 )
104+ self .assertGreater (self .GenericAlias .get_id (), 0 )
105+ self .assertGreater (self .generic_spam .get_id (), 0 )
106+ self .assertGreater (self .GenericMine .get_id (), 0 )
76107
77108 def test_optimized (self ):
78109 self .assertFalse (self .top .is_optimized ())
0 commit comments