code: def test_vi_visual_line_copy():
      feed = partial(
          _feed_cli_with_input,
          editing_mode=EditingMode.VI,
          multiline=True,
      )
  
      operations = (
          # Three lines of text.
          "-line1\r-line2\r-line3\r-line4\r-line5\r-line6"
          # Go to the second character of the second line.
          "\x1bkkkkkkkj0l"
          # Enter Visual linemode.
          "V"
          # Go down one line.
          "j"
          # Go 3 characters to the right (should not do much).
          "lll"
          # Copy this block.
          "y"
          # Go down one line.
          "j"
          # Insert block twice.
          "2p"
          # Escape again.
          "\x1b\r"
      )
  
      result, cli = feed(operations)
  
      assert (
          result.text
          == "-line1\n-line2\n-line3\n-line4\n-line2\n-line3\n-line2\n-line3\n-line5\n-line6"
      )
  
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 29 for calling a global function with example usage: test_vi_visual_line_copy() without return types