tests/test-revert-interactive-curses.t
author Anton Shestakov <av6@dwimlabs.net>
Mon, 07 Feb 2022 12:25:46 +0300
changeset 48723 27fe84a8dd60
parent 46325 e5e6282fa66a
child 49033 9a5d09d7f108
permissions -rw-r--r--
obsolete: always return frozensets from obsolete.getrevs() getrevs function already returns an empty frozenset when there is no obsstore, but let's make sure to return a frozenset in any case. This makes it possible to use the result of this function as a dict key or provide it to hash() built-in function without any conversions. Differential Revision: https://phab.mercurial-scm.org/D12156

#require curses

Revert interactive tests with the Curses interface

  $ cat <<EOF >> $HGRCPATH
  > [ui]
  > interactive = true
  > interface = curses
  > [experimental]
  > crecordtest = testModeCommands
  > EOF

TODO: Make a curses version of the other tests from test-revert-interactive.t.

When a line without EOL is selected during "revert -i"

  $ hg init $TESTTMP/revert-i-curses-eol
  $ cd $TESTTMP/revert-i-curses-eol
  $ echo 0 > a
  $ hg ci -qAm 0
  $ printf 1 >> a
  $ hg ci -qAm 1
  $ cat a
  0
  1 (no-eol)

  $ cat <<EOF >testModeCommands
  > c
  > EOF

  $ hg revert -ir'.^'
  reverting a
  $ cat a
  0

When a selected line is reverted to have no EOL

  $ hg init $TESTTMP/revert-i-curses-eol2
  $ cd $TESTTMP/revert-i-curses-eol2
  $ printf 0 > a
  $ hg ci -qAm 0
  $ echo 0 > a
  $ hg ci -qAm 1
  $ cat a
  0

  $ cat <<EOF >testModeCommands
  > c
  > EOF

  $ hg revert -ir'.^'
  reverting a
  $ cat a
  0 (no-eol)