Ejemplo n.º 1
0
    def test_create_source_map_multiple_nodes(self):

        source = """
        from __future__ import print_function
        def test_fn(x):
          return x + 1
    """
        source = textwrap.dedent(source)

        nodes = parser.parse_str(source, single_node=False)
        fake_import_origin = origin_info.OriginInfo(
            loc=origin_info.Location('fake_filename', 3, 7),
            function_name='fake_function_name',
            source_code_line='fake source line',
            comment=None)
        anno.setanno(nodes[0], anno.Basic.ORIGIN, fake_import_origin)
        fake_function_origin = origin_info.OriginInfo(
            loc=origin_info.Location('fake_filename', 3, 7),
            function_name='fake_function_name',
            source_code_line='fake source line',
            comment=None)
        anno.setanno(nodes[1], anno.Basic.ORIGIN, fake_function_origin)

        source_map = origin_info.create_source_map(nodes, source,
                                                   'test_filename')

        loc = origin_info.LineLocation('test_filename', 2)
        self.assertIn(loc, source_map)
        self.assertIs(source_map[loc], fake_import_origin)

        loc = origin_info.LineLocation('test_filename', 3)
        self.assertIn(loc, source_map)
        self.assertIs(source_map[loc], fake_function_origin)
Ejemplo n.º 2
0
    def test_create_source_map(self):
        def test_fn(x):
            return x + 1

        node, _, _ = parser.parse_entity(test_fn)
        fake_origin = origin_info.OriginInfo(
            loc=origin_info.Location('fake_filename', 3, 7),
            function_name='fake_function_name',
            source_code_line='fake source line',
            comment=None)
        anno.setanno(node.body[0], anno.Basic.ORIGIN, fake_origin)
        converted_code = compiler.ast_to_source(node)

        source_map = origin_info.create_source_map(node, converted_code,
                                                   'test_filename', [0])

        loc = origin_info.LineLocation('test_filename', 2)
        self.assertIn(loc, source_map)
        self.assertIs(source_map[loc], fake_origin)
Ejemplo n.º 3
0
  def test_create_source_map(self):

    source = """
      def test_fn(x):
        return x + 1
    """
    source = textwrap.dedent(source)

    node = parser.parse(source)
    fake_origin = origin_info.OriginInfo(
        loc=origin_info.Location('fake_filename', 3, 7),
        function_name='fake_function_name',
        source_code_line='fake source line',
        comment=None)
    anno.setanno(node, anno.Basic.ORIGIN, fake_origin)

    source_map = origin_info.create_source_map(node, source, 'test_filename')

    loc = origin_info.LineLocation('test_filename', 2)
    self.assertIn(loc, source_map)
    self.assertIs(source_map[loc], fake_origin)