Mercurial > evolve
annotate tests/test-topic-shell-prompt.t @ 5373:ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
A patch was sent to the Zsh developers to change the prompt to include the name
of the topic if it is set. It was agreed that I submit a test case to the topic
extension that fails if the format of the files used by Zsh changes.
The current version of the patch can be found here:
https://www.zsh.org/mla/workers/2020/msg00910.html
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Mon, 22 Jun 2020 01:03:22 +0200 |
parents | |
children |
rev | line source |
---|---|
5373
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
1 $ . $TESTDIR/testlib/topic_setup.sh |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
2 |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
3 Code logically equivalent to the following is used in Zsh to show the branch |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
4 and topic (if set) in the prompt. If the format of the files is changed in a |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
5 way that it breaks the test, a mail should be sent to zsh-workers@zsh.org. |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
6 |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
7 $ get_branch_like_zsh() { |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
8 > branchfile=".hg/branch" |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
9 > topicfile=".hg/topic" |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
10 > if [ -r "${branchfile}" ] ; then |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
11 > r_branch=$(cat "${branchfile}") |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
12 > fi |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
13 > if [ -f "${topicfile}" ] && [ -r "${topicfile}" ] && [ -s "${topicfile}" ] ; then |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
14 > IFS= read -r REPLY < ${topicfile} |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
15 > r_branch=${r_branch}:${REPLY} |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
16 > fi |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
17 > echo $r_branch |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
18 > } |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
19 |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
20 $ hg init |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
21 $ hg branch branch -q |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
22 $ get_branch_like_zsh |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
23 branch |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
24 $ hg topic topic -q |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
25 $ get_branch_like_zsh |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
26 branch:topic |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
27 $ hg topic --clear -q |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
28 $ get_branch_like_zsh |
ce5ebd9c859b
tests: add a test determining the branch and topic like the Zsh prompt does it
Manuel Jacob <me@manueljacob.de>
parents:
diff
changeset
|
29 branch |