code: def test_emacs_history_bindings():
      # Adding a new item to the history.
      history = _history()
      result, cli = _feed_cli_with_input("new input\n", history=history)
      assert result.text == "new input"
      history.strings[-1] == "new input"
  
      # Go up in history, and accept the last item.
      result, cli = _feed_cli_with_input(
          "hello\x1b[A\n", history=history
      )
      assert result.text == "new input"
  
      # Esc< (beginning-of-history)
      result, cli = _feed_cli_with_input(
          "hello\x1b<\n", history=history
      )
      assert result.text == "line1 first input"
  
      # Esc> (end-of-history)
      result, cli = _feed_cli_with_input(
          "another item\x1b[A\x1b[a\x1b>\n", history=history
      )
      assert result.text == "another item"
  
      # ControlUp (previous-history)
      result, cli = _feed_cli_with_input("\x1b[1;5A\n", history=history)
      assert result.text == "another item"
  
      # Esc< ControlDown (beginning-of-history, next-history)
      result, cli = _feed_cli_with_input(
          "\x1b<\x1b[1;5B\n", history=history
      )
      assert result.text == "line2 second input"
  
imports: from __future__ import unicode_literals
  from prompt_toolkit.application import Application
  from prompt_toolkit.buffer import Buffer, AcceptAction
  from prompt_toolkit.clipboard import InMemoryClipboard, ClipboardData
  from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
  from prompt_toolkit.eventloop.posix import PosixEventLoop
  from prompt_toolkit.history import InMemoryHistory
  from prompt_toolkit.input import PipeInput
  from prompt_toolkit.interface import CommandLineInterface
  from prompt_toolkit.key_binding.manager import KeyBindingManager
  from prompt_toolkit.output import DummyOutput
  from prompt_toolkit.terminal.vt100_input import ANSI_SEQUENCES
  from functools import partial
  import pytest
label_desc: Use image node_id 10 for calling a global function with example usage: test_emacs_history_bindings() without return types