code: def test_vi_block_editing_empty_lines():
      "Test block editing on empty lines."
      feed = partial(
          _feed_cli_with_input,
          editing_mode=EditingMode.VI,
          multiline=True,
      )
  
      operations = (
          # Six empty lines.
          "\r\r\r\r\r"
          # Go to beginning of the document.
          "\x1bgg"
          # Enter Visual block mode.
          "\x16"
          # Go down two more lines.
          "jj"
          # Go 3 characters to the right.
          "lll"
          # Go to insert mode.
          "insert"  # (Will be replaced.)
          # Insert stars.
          "***"
          # Escape again.
          "\x1b\r"
      )
  
      # Control-I
      result, cli = feed(operations.replace("insert", "I"))
  
      assert result.text == "***\n***\n***\n\n\n"
  
      # Control-A
      result, cli = feed(operations.replace("insert", "A"))
  
      assert result.text == "***\n***\n***\n\n\n"
  
imports: from __future__ import annotations
  from functools import partial
  import pytest
  from prompt_toolkit.clipboard import ClipboardData, InMemoryClipboard
  from prompt_toolkit.enums import EditingMode
  from prompt_toolkit.filters import ViInsertMode
  from prompt_toolkit.history import InMemoryHistory
  from prompt_toolkit.input.defaults import create_pipe_input
  from prompt_toolkit.input.vt100_parser import ANSI_SEQUENCES
  from prompt_toolkit.key_binding.bindings.named_commands import prefix_meta
  from prompt_toolkit.key_binding.key_bindings import KeyBindings
  from prompt_toolkit.output import DummyOutput
  from prompt_toolkit.shortcuts import PromptSession
label_desc: Use image node_id 28 for calling a global function with example usage: test_vi_block_editing_empty_lines() without return types