code: def test_basics():
      for_loop = nodes.For(
          nodes.Name("foo", "store"),
          nodes.Name("seq", "load"),
          [nodes.Output([nodes.Name("foo", "load")])],
          [],
          None,
          False,
      )
      tmpl = nodes.Template(
          [
              nodes.Assign(
                  nodes.Name("foo", "store"), nodes.Name("bar", "load")
              ),
              for_loop,
          ]
      )
  
      sym = symbols_for_node(tmpl)
      assert sym.refs == {
          "foo": "l_0_foo",
          "bar": "l_0_bar",
          "seq": "l_0_seq",
      }
      assert sym.loads == {
          "l_0_foo": ("undefined", None),
          "l_0_bar": ("resolve", "bar"),
          "l_0_seq": ("resolve", "seq"),
      }
  
      sym = symbols_for_node(for_loop, sym)
      assert sym.refs == {
          "foo": "l_1_foo",
      }
      assert sym.loads == {
          "l_1_foo": ("param", None),
      }
  
imports: from jinja2 import nodes
  from jinja2.idtracking import symbols_for_node
label_desc: Use image node_id 1 for calling a global function with example usage: test_basics() without return types