Mercurial > hg
diff tests/test-status-color @ 7458:03dd55115985
color: Add tests for colorized diff and status output.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 02 Dec 2008 10:13:52 -0600 |
parents | |
children | 7b3d837ca60e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-status-color Tue Dec 02 10:13:52 2008 -0600 @@ -0,0 +1,97 @@ +#!/bin/sh + +echo "[extensions]" >> $HGRCPATH +echo "color=" >> $HGRCPATH + +hg init repo1 +cd repo1 +mkdir a b a/1 b/1 b/2 +touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 +echo "hg status in repo root:" +hg status --color=always +echo "hg status . in repo root:" +hg status --color=always . +for dir in a b a/1 b/1 b/2; do + echo "hg status in $dir:" + hg status --color=always --cwd "$dir" + echo "hg status . in $dir:" + hg status --color=always --cwd "$dir" . + echo "hg status .. in $dir:" + hg status --color=always --cwd "$dir" .. +done +cd .. + +hg init repo2 +cd repo2 +touch modified removed deleted ignored +echo "^ignored$" > .hgignore +hg ci -A -m 'initial checkin' -d "1000000 0" +touch modified added unknown ignored +hg add added +hg remove removed +rm deleted +echo "hg status:" +hg status --color=always +echo "hg status modified added removed deleted unknown never-existed ignored:" +hg status --color=always modified added removed deleted unknown never-existed ignored +hg copy modified copied +echo "hg status -C:" +hg status --color=always -C +echo "hg status -A:" +hg status --color=always -A +echo "^ignoreddir$" > .hgignore +mkdir ignoreddir +touch ignoreddir/file +echo "hg status ignoreddir/file:" +hg status --color=always ignoreddir/file +echo "hg status -i ignoreddir/file:" +hg status --color=always -i ignoreddir/file +cd .. + +# check 'status -q' and some combinations +hg init repo3 +cd repo3 +touch modified removed deleted ignored +echo "^ignored$" > .hgignore +hg commit -A -m 'initial checkin' +touch added unknown ignored +hg add added +echo "test" >> modified +hg remove removed +rm deleted +hg copy modified copied + +# Run status with 2 different flags. +# Check if result is the same or different. +# If result is not as expected, raise error +assert() { + hg status --color=always $1 > ../a + hg status --color=always $2 > ../b + out=`diff ../a ../b` + if [ $? -ne 0 ]; then + out=1 + else + out=0 + fi + if [ $3 -eq 0 ]; then + df="same" + else + df="different" + fi + if [ $out -ne $3 ]; then + echo "Error on $1 and $2, should be $df." + fi +} + +# assert flag1 flag2 [0-same | 1-different] +assert "-q" "-mard" 0 +assert "-A" "-marduicC" 0 +assert "-qA" "-mardcC" 0 +assert "-qAui" "-A" 0 +assert "-qAu" "-marducC" 0 +assert "-qAi" "-mardicC" 0 +assert "-qu" "-u" 0 +assert "-q" "-u" 1 +assert "-m" "-a" 1 +assert "-r" "-d" 1 +