sapling/tests/test-encoding-align
Martin Geisler cc612c476f tests: remove unneeded -d flags
Many tests fixed the commit date of their changesets at '1000000 0' or
similar. However testing with "Mon Jan 12 13:46:40 1970 +0000" is not
better than testing with "Thu Jan 01 00:00:00 1970 +0000", which is
the default run-tests.py installs.

Removing the unnecessary flag removes some clutter and will hopefully
make it clearer what the tests are really trying to test. Some tests
did not even change their output when the dates were changed, in which
case the -d flag was truly irrelevant.

Dates used in sequence (such as '0 0', '1 0', etc...) were left alone
since they may make the test easier to understand.
2010-09-02 23:22:51 +02:00

128 lines
2.5 KiB
Bash
Executable File

#!/bin/sh
########################################
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
echo '% check alignment of option descriptions in help'
hg help showoptlist
########################################
#### alignment of:
#### - user names in annotate
#### - file names in diffstat
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
echo '% check alignment of user names in annotate'
hg annotate -u $M
echo '% check alignment of filenames in diffstat'
hg diff -c tip --stat
########################################
#### alignment of:
#### - branch names in list
#### - tag names in list
#### add branches/tags
hg branch $S
hg tag $S
hg branch $M
hg tag $M
hg branch $L
hg tag $L
#### check
echo '% check alignment of branches'
hg tags
echo '% check alignment of tags'
hg tags
########################################
exit 0