##// END OF EJS Templates
tests: make simple single quotes work with dummyssh on windows...
tests: make simple single quotes work with dummyssh on windows Mercurial assumes that the shell on remote servers over ssh servers uses unix quoting rules. Tests using dummyssh are however also run on windows where cmd doesn't parse single quotes like on unix. This hack replaces the single quotes with double quotes on windows - that is enough to make test-ssh.t pass after d8fa35c28335.

File last commit:

r15615:41885892 stable
r15768:cdf9c434 default
Show More
test-encoding-align.t
143 lines | 4.9 KiB | text/troff | Tads3Lexer
/ tests / test-encoding-align.t
Matt Mackall
tests: unify test-encoding-align
r12418 Test alignment of multibyte characters
$ HGENCODING=utf-8
$ export HGENCODING
$ hg init t
$ cd t
$ python << EOF
> # (byte, width) = (6, 4)
> s = "\xe7\x9f\xad\xe5\x90\x8d"
> # (byte, width) = (7, 7): odd width is good for alignment test
> m = "MIDDLE_"
> # (byte, width) = (18, 12)
> l = "\xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d"
> f = file('s', 'w'); f.write(s); f.close()
> f = file('m', 'w'); f.write(m); f.close()
> f = file('l', 'w'); f.write(l); f.close()
> # instant extension to show list of options
> f = file('showoptlist.py', 'w'); f.write("""# encoding: utf-8
> def showoptlist(ui, repo, *pats, **opts):
> '''dummy command to show option descriptions'''
> return 0
> cmdtable = {
> 'showoptlist':
> (showoptlist,
Mads Kiilerich
util: wrap lines with multi-byte characters correctly (issue2943)...
r15031 > [('s', 'opt1', '', 'short width' + ' %(s)s' * 8, '%(s)s'),
> ('m', 'opt2', '', 'middle width' + ' %(m)s' * 8, '%(m)s'),
> ('l', 'opt3', '', 'long width' + ' %(l)s' * 8, '%(l)s')
Matt Mackall
tests: unify test-encoding-align
r12418 > ],
> ""
> )
> }
Mads Kiilerich
util: wrap lines with multi-byte characters correctly (issue2943)...
r15031 > """ % globals())
Matt Mackall
tests: unify test-encoding-align
r12418 > f.close()
> EOF
$ S=`cat s`
$ M=`cat m`
$ L=`cat l`
alignment of option descriptions in help
$ cat <<EOF > .hg/hgrc
> [extensions]
> ja_ext = `pwd`/showoptlist.py
> EOF
check alignment of option descriptions in help
$ hg help showoptlist
Matt Mackall
help: generate command help into a single RST string for formatting
r15203 hg showoptlist
Matt Mackall
tests: unify test-encoding-align
r12418
dummy command to show option descriptions
options:
Matt Mackall
help: use RST to format option lists
r15145 -s --opt1 \xe7\x9f\xad\xe5\x90\x8d short width \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d (esc)
-m --opt2 MIDDLE_ middle width MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_
MIDDLE_ MIDDLE_ MIDDLE_
-l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d long width \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
\xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
\xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
Matt Mackall
tests: unify test-encoding-align
r12418
Matt Mackall
help: unify the two -v notes for command help
r15202 use "hg -v help showoptlist" to show more info
Matt Mackall
tests: unify test-encoding-align
r12418
$ rm -f s; touch s
$ rm -f m; touch m
$ rm -f l; touch l
add files
$ cp s $S
$ hg add $S
$ cp m $M
$ hg add $M
$ cp l $L
$ hg add $L
commit(1)
$ echo 'first line(1)' >> s; cp s $S
$ echo 'first line(2)' >> m; cp m $M
$ echo 'first line(3)' >> l; cp l $L
$ hg commit -m 'first commit' -u $S
commit(2)
$ echo 'second line(1)' >> s; cp s $S
$ echo 'second line(2)' >> m; cp m $M
$ echo 'second line(3)' >> l; cp l $L
$ hg commit -m 'second commit' -u $M
commit(3)
$ echo 'third line(1)' >> s; cp s $S
$ echo 'third line(2)' >> m; cp m $M
$ echo 'third line(3)' >> l; cp l $L
$ hg commit -m 'third commit' -u $L
check alignment of user names in annotate
$ hg annotate -u $M
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe7\x9f\xad\xe5\x90\x8d: first line(2) (esc)
Matt Mackall
tests: unify test-encoding-align
r12418 MIDDLE_: second line(2)
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d: third line(2) (esc)
Matt Mackall
tests: unify test-encoding-align
r12418
check alignment of filenames in diffstat
$ hg diff -c tip --stat
MIDDLE_ | 1 +
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe7\x9f\xad\xe5\x90\x8d | 1 + (esc)
\xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d | 1 + (esc)
Matt Mackall
tests: unify test-encoding-align
r12418 3 files changed, 3 insertions(+), 0 deletions(-)
add branches/tags
$ hg branch $S
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 marked working directory as branch \xe7\x9f\xad\xe5\x90\x8d (esc)
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-encoding-align
r12418 $ hg tag $S
$ hg branch $M
marked working directory as branch MIDDLE_
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-encoding-align
r12418 $ hg tag $M
$ hg branch $L
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-encoding-align
r12418 $ hg tag $L
check alignment of branches
$ hg tags
tip 5:d745ff46155b
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19 (esc)
Matt Mackall
tests: unify test-encoding-align
r12418 MIDDLE_ 3:b06c5b6def9e
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8 (esc)
Matt Mackall
tests: unify test-encoding-align
r12418
check alignment of tags
$ hg tags
tip 5:d745ff46155b
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d 4:9259be597f19 (esc)
Matt Mackall
tests: unify test-encoding-align
r12418 MIDDLE_ 3:b06c5b6def9e
Mads Kiilerich
tests: use (esc) markup for string-escape...
r12941 \xe7\x9f\xad\xe5\x90\x8d 2:64a70663cee8 (esc)