# HG changeset patch # User Laurent Charignon # Date 1426196575 25200 # Node ID 6b43baac6dfbc9b824c73e09c35753c103e56326 # Parent 69538481ea9f9cb65407bb5b9d4ca9f76b36352f record: add tests for the curses recording interface diff -r 69538481ea9f -r 6b43baac6dfb tests/test-commit-interactive-curses.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-commit-interactive-curses.t Thu Mar 12 14:42:55 2015 -0700 @@ -0,0 +1,184 @@ +Set up a repo + + $ cat <> $HGRCPATH + > [ui] + > interactive = true + > [experimental] + > crecord = true + > crecordtest = testModeCommands + > EOF + + $ hg init a + $ cd a + +Committing some changes but stopping on the way + + $ echo "a" > a + $ hg add a + $ cat <testModeCommands + > TOGGLE + > X + > EOF + $ hg commit -i -m "a" -d "0 0" + no changes to record + $ hg tip + changeset: -1:000000000000 + tag: tip + user: + date: Thu Jan 01 00:00:00 1970 +0000 + + +Committing some changes + + $ cat <testModeCommands + > X + > EOF + $ hg commit -i -m "a" -d "0 0" + $ hg tip + changeset: 0:cb9a9f314b8b + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + +Committing only one file + + $ echo "a" >> a + $ seq 1 10 > b + $ hg add b + $ cat <testModeCommands + > TOGGLE + > KEY_DOWN + > X + > EOF + $ hg commit -i -m "one file" -d "0 0" + $ hg tip + changeset: 1:fb2705a663ea + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: one file + + $ hg cat -r tip a + a + $ cat a + a + a + +Committing only one hunk + +- Untoggle all the hunks, go down to the second file +- unfold it +- go down to second hunk (1 for the first hunk, 1 for the first hunkline, 1 for the second hunk, 1 for the second hunklike) +- toggle the second hunk +- commit + + $ echo "x" > c + $ cat b >> c + $ echo "y" >> c + $ mv c b + $ cat <testModeCommands + > A + > KEY_DOWN + > f + > KEY_DOWN + > KEY_DOWN + > KEY_DOWN + > KEY_DOWN + > TOGGLE + > X + > EOF + $ hg commit -i -m "one hunk" -d "0 0" + $ hg tip + changeset: 2:7d10dfe755a8 + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: one hunk + + $ hg cat -r tip b + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + y + $ cat b + x + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + y + $ hg commit -m "other hunks" + $ hg tip + changeset: 3:a6735021574d + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: other hunks + + $ hg cat -r tip b + x + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + y + +Editing patch of newly added file + + $ cat > editor.sh << '__EOF__' + > cat "$1" | sed "s/first/very/g" > tt + > mv tt "$1" + > __EOF__ + $ cat > newfile << '__EOF__' + > This is the first line + > This is the second line + > This is the third line + > __EOF__ + $ hg add newfile + $ cat <testModeCommands + > f + > KEY_DOWN + > KEY_DOWN + > KEY_DOWN + > e + > X + > EOF + $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit -i -d '23 0' -medit-patch-new + $ hg tip + changeset: 4:6a0a43e9eff5 + tag: tip + user: test + date: Thu Jan 01 00:00:23 1970 +0000 + summary: edit-patch-new + + $ hg cat -r tip newfile + This is the very line + This is the second line + This is the third line + + $ cat newfile + This is the first line + This is the second line + This is the third line + +