Mercurial > evolve
annotate tests/test-topic-shell-prompt.t @ 6206:2ec9c87e8574
topic: allow unicode symbols in names as long as they are alphanumeric
I decided to relax this logic just a little bit to allow unicode "word
characters" (i.e. everything that a unicode regex \w matches). This is still
limiting cases that core allows (for branches and bookmarks): core only forbids
certain byte values (like null byte, see scmutil.checknewlabel function).
This extra check for topic names could be dropped altogether and we could rely
solely on checknewlabel(), but I don't know if there isn't some corner case
that topics can't handle. Needs more investigation (and tests).
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 19 Mar 2022 19:13:00 +0300 |
parents | ce5ebd9c859b |
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 |