Exemple #1
0
 def test_keywords_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(e=4, ??=??)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(next(it), ast.Call(keywords=[ast.keyword(arg='d'),
                                                  ast.keyword(arg='e'),])
                     )
     self.assert_no_more(it)
Exemple #2
0
 def test_keywords_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(e=4, ??=??)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(
         next(it),
         ast.Call(keywords=[
             ast.keyword(arg='d'),
             ast.keyword(arg='e'),
         ]))
     self.assert_no_more(it)
Exemple #3
0
 def test_pos_final_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(1, ??)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1)]))
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1), ast.Num(n=2)]))
     assert_ast_like(next(it), ast.Call(starargs=ast.Name(id='c')))
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1)],
                                      keywords=[ast.keyword(arg='d'),
                                                ast.keyword(arg='e'),
                                               ])
                    )
     assert_ast_like(next(it), ast.Call(kwargs=ast.Name(id='k')))
     self.assert_no_more(it)
Exemple #4
0
 def test_pos_final_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(1, ??)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1)]))
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1), ast.Num(n=2)]))
     assert_ast_like(next(it), ast.Call(starargs=ast.Name(id='c')))
     assert_ast_like(
         next(it),
         ast.Call(args=[ast.Num(n=1)],
                  keywords=[
                      ast.keyword(arg='d'),
                      ast.keyword(arg='e'),
                  ]))
     assert_ast_like(next(it), ast.Call(kwargs=ast.Name(id='k')))
     self.assert_no_more(it)
Exemple #5
0
 def get_matching_names(self, pat):
     apf = ASTPatternFinder(prepare_pattern(pat))
     matches = apf.scan_ast(self.ast)
     return {f.name for f in matches}
Exemple #6
0
 def test_single_and_multi_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(?, ??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 5
Exemple #7
0
 def test_mixed_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(??, d=?)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 4
     assert_ast_like(matches[-1], ast.Call(kwargs=ast.Name(id='k')))
Exemple #8
0
 def test_keywords_wildcard2(self):
     apf = ASTPatternFinder(prepare_pattern("f(d=?, ??=??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 2
Exemple #9
0
 def test_pos_leading_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(??, 2)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1), ast.Num(n=2)]))
     self.assert_no_more(it)
Exemple #10
0
 def test_wildcard_all(self):
     apf = ASTPatternFinder(prepare_pattern("f(??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 8
Exemple #11
0
 def get_matching_names(self, pat):
     apf = ASTPatternFinder(prepare_pattern(pat))
     matches = apf.scan_ast(self.ast)
     return {f.name for f in matches}
Exemple #12
0
 def test_single_and_multi_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(?, ??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 5
Exemple #13
0
 def test_mixed_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(??, d=?)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 4
     assert_ast_like(matches[-1], ast.Call(kwargs=ast.Name(id='k')))
Exemple #14
0
 def test_keywords_wildcard2(self):
     apf = ASTPatternFinder(prepare_pattern("f(d=?, ??=??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 2
Exemple #15
0
 def test_pos_leading_wildcard(self):
     apf = ASTPatternFinder(prepare_pattern("f(??, 2)"))
     it = apf.scan_ast(self.ast)
     assert_ast_like(next(it), ast.Call(args=[ast.Num(n=1), ast.Num(n=2)]))
     self.assert_no_more(it)
Exemple #16
0
 def test_wildcard_all(self):
     apf = ASTPatternFinder(prepare_pattern("f(??)"))
     matches = list(apf.scan_ast(self.ast))
     assert len(matches) == 8