Exemplo n.º 1
0
    def test_CollectBoundVariablesInScope_tryExceptWith(self):
        tree = ast.parse(
            textwrap.dedent(
                """
                try:
                    with y as z:
                        x += 1
                except Exception as e:
                    print e.message
                except ValueError:
                    print "Wrong Value"
                """
                )
            )

        self.assertEqual(
            set(['x', 'e', 'z']),
            PyAstFreeVariableAnalyses.collectBoundVariablesInScope(tree)
            )
Exemplo n.º 2
0
    def test_CollectBoundVariablesInScope_block(self):
        tree = ast.parse(
            textwrap.dedent(
                """
                    v1
                    v2 = 2
                    v3 += 3
                    (v4, v5), v6 = w
                    for v7 in range(0,10):
                        v8 = z
                    v9 = [v10 for v11 in v12]
                    v13 = { v14 for v15 in v16 }
                    v17 = { v18:v19 for v20 in v21 for v22 in v23 }
                """
                )
            )

        self.assertEqual(
            set(['v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v11',
                 'v13', 'v15', 'v17', 'v20', 'v22']),
            PyAstFreeVariableAnalyses.collectBoundVariablesInScope(tree)
            )
Exemplo n.º 3
0
    def test_CollectBoundVariablesInScope_classDef(self):
        tree = ast.parse(
            textwrap.dedent(
                """
                v0 = z
                class c(x):
                    v1
                    v2 = 2
                    v3 += 3
                    (v4, v5), v6 = w
                v7 = zz
                """
                )
            )

        self.assertEqual(
            set(['v0', 'v7']),
            PyAstFreeVariableAnalyses.collectBoundVariablesInScope(tree)
            )
        self.assertEqual(
            set(['c']),
            PyAstFreeVariableAnalyses.collectBoundNamesInScope(tree)
            )