Mercurial > public > mercurial-scm > hg-stable
diff tests/test-mactext @ 6481:e837dded56c7
win32text: Add macencode/macdecode
author | OHASHI Hideya <ohachige@gmail.com> |
---|---|
date | Thu, 03 Apr 2008 20:41:31 +0900 |
parents | |
children | 529d7887ecfe |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mactext Thu Apr 03 20:41:31 2008 +0900 @@ -0,0 +1,115 @@ +#!/bin/sh + +cat > unix2mac.py <<EOF +import sys + +for path in sys.argv[1:]: + data = file(path, 'rb').read() + data = data.replace('\n', '\r') + file(path, 'wb').write(data) +EOF + +cat > print.py <<EOF +import sys +print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) +EOF + +hg init +echo '[hooks]' >> .hg/hgrc +echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc +echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc +cat .hg/hgrc +echo + +echo hello > f +hg add f +hg ci -m 1 -d'0 0' +echo + +python unix2mac.py f +hg ci -m 2 -d'0 0' +hg revert -a +echo + +mkdir d +echo hello > d/f2 +python unix2mac.py d/f2 +hg add d/f2 +hg ci -m 3 -d'0 0' +hg revert -a +rm d/f2 +echo + +hg rem f +hg ci -m 4 -d'0 0' +echo + +python -c 'file("bin", "wb").write("hello\x00\x0D")' +hg add bin +hg ci -m 5 -d'0 0' +hg log -v +echo + +hg clone . dupe +echo +for x in a b c d; do echo content > dupe/$x; done +hg -R dupe add +python unix2mac.py dupe/b dupe/c dupe/d +hg -R dupe ci -m a -d'0 0' dupe/a +hg -R dupe ci -m b/c -d'0 0' dupe/[bc] +hg -R dupe ci -m d -d'0 0' dupe/d +hg -R dupe log -v +echo + +hg pull dupe +echo + +hg log -v +echo + +rm .hg/hgrc +(echo some; echo text) > f3 +python -c 'file("f4.bat", "wb").write("rem empty\x0D")' +hg add f3 f4.bat +hg ci -m 6 -d'0 0' + +python print.py < bin +python print.py < f3 +python print.py < f4.bat +echo + +echo '[extensions]' >> .hg/hgrc +echo 'win32text = ' >> .hg/hgrc +echo '[decode]' >> .hg/hgrc +echo '** = macdecode:' >> .hg/hgrc +echo '[encode]' >> .hg/hgrc +echo '** = macencode:' >> .hg/hgrc +cat .hg/hgrc +echo + +rm f3 f4.bat bin +hg co 2>&1 | python -c 'import sys, os; sys.stdout.write(sys.stdin.read().replace(os.getcwd(), "...."))' +python print.py < bin +python print.py < f3 +python print.py < f4.bat +echo + +python -c 'file("f5.sh", "wb").write("# empty\x0D")' +hg add f5.sh +hg ci -m 7 -d'0 0' +python print.py < f5.sh +hg cat f5.sh | python print.py + +echo '% just linefeed' > linefeed +hg ci -qAm 8 linefeed +python print.py < linefeed +hg cat linefeed | python print.py +hg st -q +hg revert -a linefeed +python print.py < linefeed +hg st -q +echo modified >> linefeed +hg st -q +hg revert -a +hg st -q +python print.py < linefeed