def test_get_full_name_for_expression( self, input: Union[str, cst.CSTNode], output: Optional[str], ) -> None: self.assertEqual(get_full_name_for_node(input), output) if output is None: with self.assertRaises(Exception): get_full_name_for_node_or_raise(input) else: self.assertEqual(get_full_name_for_node_or_raise(input), output)
def visit_ImportFrom(self, node: cst.ImportFrom) -> None: module = node.module abs_module = self._to_absolute_module( get_full_name_for_node_or_raise(module) if module is not None else "", len(node.relative), ) if abs_module is not None: names = node.names if isinstance(names, Sequence): self._check_names( node, (f"{abs_module}.{alias.name.value}" for alias in names) )
def visit_Import(self, node: cst.Import) -> None: self._check_names( node, (get_full_name_for_node_or_raise(alias.name) for alias in node.names) )