Mercurial > hg-stable
view tests/test-encoding-align.t @ 12418:09c6dd129f82
tests: unify test-encoding-align
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:41:32 -0500 |
parents | tests/test-encoding-align@4c94b6d0fb1c |
children | 22f45e53bb21 |
line wrap: on
line source
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, > [('s', 'opt1', '', 'short width', '""" + s + """'), > ('m', 'opt2', '', 'middle width', '""" + m + """'), > ('l', 'opt3', '', 'long width', '""" + l + """') > ], > "" > ) > } > """) > 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 hg showoptlist dummy command to show option descriptions options: -s --opt1 短名 short width -m --opt2 MIDDLE_ middle width -l --opt3 長い長い名前 long width use "hg -v help showoptlist" to show global options $ 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 短名: first line(2) MIDDLE_: second line(2) 長い長い名前: third line(2) check alignment of filenames in diffstat $ hg diff -c tip --stat MIDDLE_ | 1 + 短名 | 1 + 長い長い名前 | 1 + 3 files changed, 3 insertions(+), 0 deletions(-) add branches/tags $ hg branch $S marked working directory as branch 短名 $ hg tag $S $ hg branch $M marked working directory as branch MIDDLE_ $ hg tag $M $ hg branch $L marked working directory as branch 長い長い名前 $ hg tag $L check alignment of branches $ hg tags tip 5:d745ff46155b 長い長い名前 4:9259be597f19 MIDDLE_ 3:b06c5b6def9e 短名 2:64a70663cee8 check alignment of tags $ hg tags tip 5:d745ff46155b 長い長い名前 4:9259be597f19 MIDDLE_ 3:b06c5b6def9e 短名 2:64a70663cee8