test-status-color.t
335 lines
| 11.6 KiB
| text/troff
|
Tads3Lexer
/ tests / test-status-color.t
|
r11783 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "color=" >> $HGRCPATH | ||||
$ echo "[color]" >> $HGRCPATH | ||||
$ echo "mode=ansi" >> $HGRCPATH | ||||
|
r13997 | Terminfo codes compatibility fix | ||
$ echo "color.none=0" >> $HGRCPATH | ||||
|
r11783 | |||
$ 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 | ||||
hg status in repo root: | ||||
$ hg status --color=always | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | |||
hg status . in repo root: | ||||
$ hg status --color=always . | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg status --color=always --cwd a | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd a . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd a .. | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_root\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg status --color=always --cwd b | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd b . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd b .. | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_root\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg status --color=always --cwd a/1 | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd a/1 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a_1\x1b[0m (esc) | ||
|
r11783 | $ hg status --color=always --cwd a/1 .. | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_a\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg status --color=always --cwd b/1 | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd b/1 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_1\x1b[0m (esc) | ||
|
r11783 | $ hg status --color=always --cwd b/1 .. | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_b\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg status --color=always --cwd b/2 | ||||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc) | ||||
|
r11783 | $ hg status --color=always --cwd b/2 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc) | ||
|
r11783 | $ hg status --color=always --cwd b/2 .. | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../1/in_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_b\x1b[0m (esc) | ||||
|
r19073 | |||
Make sure --color=never works | ||||
$ hg status --color=never | ||||
? a/1/in_a_1 | ||||
? a/in_a | ||||
? b/1/in_b_1 | ||||
? b/2/in_b_2 | ||||
? b/in_b | ||||
? in_root | ||||
|
r19074 | Make sure ui.formatted=False works | ||
$ hg status --config ui.formatted=False | ||||
? a/1/in_a_1 | ||||
? a/in_a | ||||
? b/1/in_b_1 | ||||
? b/2/in_b_2 | ||||
? b/in_b | ||||
? in_root | ||||
|
r11783 | $ cd .. | ||
$ hg init repo2 | ||||
$ cd repo2 | ||||
$ touch modified removed deleted ignored | ||||
$ echo "^ignored$" > .hgignore | ||||
|
r12156 | $ hg ci -A -m 'initial checkin' | ||
|
r11783 | adding .hgignore | ||
adding deleted | ||||
adding modified | ||||
adding removed | ||||
$ touch modified added unknown ignored | ||||
$ hg add added | ||||
$ hg remove removed | ||||
$ rm deleted | ||||
hg status: | ||||
$ hg status --color=always | ||||
|
r17910 | \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc) | ||
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc) | ||||
|
r11783 | |||
hg status modified added removed deleted unknown never-existed ignored: | ||||
$ hg status --color=always modified added removed deleted unknown never-existed ignored | ||||
|
r15521 | never-existed: * (glob) | ||
|
r17910 | \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc) | ||
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc) | ||||
|
r11783 | |||
$ hg copy modified copied | ||||
hg status -C: | ||||
$ hg status --color=always -C | ||||
|
r17910 | \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc) | ||
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc) | ||||
|
r12942 | \x1b[0;0m modified\x1b[0m (esc) | ||
|
r17910 | \x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc) | ||
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc) | ||||
|
r11783 | |||
hg status -A: | ||||
$ hg status --color=always -A | ||||
|
r17910 | \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc) | ||
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc) | ||||
|
r12942 | \x1b[0;0m modified\x1b[0m (esc) | ||
|
r17910 | \x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc) | ||
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc) | ||||
\x1b[0;30;1mI \x1b[0m\x1b[0;30;1mignored\x1b[0m (esc) | ||||
\x1b[0;0mC \x1b[0m\x1b[0;0m.hgignore\x1b[0m (esc) | ||||
\x1b[0;0mC \x1b[0m\x1b[0;0mmodified\x1b[0m (esc) | ||||
|
r11783 | |||
|
r20387 | |||
|
r13987 | hg status -A (with terminfo color): | ||
|
r20387 | #if tic | ||
|
r16350 | $ mkdir "$TESTTMP/terminfo" | ||
$ TERMINFO="$TESTTMP/terminfo" tic "$TESTDIR/hgterm.ti" | ||||
$ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo --color=always -A | ||||
|
r17910 | \x1b[30m\x1b[32m\x1b[1mA \x1b[30m\x1b[30m\x1b[32m\x1b[1madded\x1b[30m (esc) | ||
\x1b[30m\x1b[32m\x1b[1mA \x1b[30m\x1b[30m\x1b[32m\x1b[1mcopied\x1b[30m (esc) | ||||
|
r13997 | \x1b[30m\x1b[30m modified\x1b[30m (esc) | ||
|
r17910 | \x1b[30m\x1b[31m\x1b[1mR \x1b[30m\x1b[30m\x1b[31m\x1b[1mremoved\x1b[30m (esc) | ||
\x1b[30m\x1b[36m\x1b[1m\x1b[4m! \x1b[30m\x1b[30m\x1b[36m\x1b[1m\x1b[4mdeleted\x1b[30m (esc) | ||||
\x1b[30m\x1b[35m\x1b[1m\x1b[4m? \x1b[30m\x1b[30m\x1b[35m\x1b[1m\x1b[4munknown\x1b[30m (esc) | ||||
\x1b[30m\x1b[30m\x1b[1mI \x1b[30m\x1b[30m\x1b[30m\x1b[1mignored\x1b[30m (esc) | ||||
\x1b[30m\x1b[30mC \x1b[30m\x1b[30m\x1b[30m.hgignore\x1b[30m (esc) | ||||
\x1b[30m\x1b[30mC \x1b[30m\x1b[30m\x1b[30mmodified\x1b[30m (esc) | ||||
|
r13987 | |||
|
r20387 | #endif | ||
|
r11783 | |||
$ echo "^ignoreddir$" > .hgignore | ||||
$ mkdir ignoreddir | ||||
$ touch ignoreddir/file | ||||
hg status ignoreddir/file: | ||||
$ hg status --color=always ignoreddir/file | ||||
hg status -i ignoreddir/file: | ||||
$ hg status --color=always -i ignoreddir/file | ||||
|
r17910 | \x1b[0;30;1mI \x1b[0m\x1b[0;30;1mignoreddir/file\x1b[0m (esc) | ||
|
r11783 | $ cd .. | ||
|
r12328 | check 'status -q' and some combinations | ||
|
r11783 | |||
$ hg init repo3 | ||||
$ cd repo3 | ||||
$ touch modified removed deleted ignored | ||||
$ echo "^ignored$" > .hgignore | ||||
$ hg commit -A -m 'initial checkin' | ||||
adding .hgignore | ||||
adding deleted | ||||
adding modified | ||||
adding removed | ||||
$ touch added unknown ignored | ||||
$ hg add added | ||||
$ echo "test" >> modified | ||||
$ hg remove removed | ||||
$ rm deleted | ||||
$ hg copy modified copied | ||||
test unknown color | ||||
$ hg --config color.status.modified=periwinkle status --color=always | ||||
ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | ||||
M modified | ||||
|
r17910 | \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc) | ||
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc) | ||||
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc) | ||||
|
r11783 | |||
|
r12328 | Run status with 2 different flags. | ||
Check if result is the same or different. | ||||
If result is not as expected, raise error | ||||
|
r11783 | $ assert() { | ||
> hg status --color=always $1 > ../a | ||||
> hg status --color=always $2 > ../b | ||||
|
r12365 | > if diff ../a ../b > /dev/null; then | ||
> out=0 | ||||
> else | ||||
|
r11783 | > out=1 | ||
> 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 | ||||
> } | ||||
|
r12328 | assert flag1 flag2 [0-same | 1-different] | ||
|
r11783 | |||
$ 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 | ||||
$ cd .. | ||||
|
r12328 | test 'resolve -l' | ||
|
r11783 | $ hg init repo4 | ||
$ cd repo4 | ||||
$ echo "file a" > a | ||||
$ echo "file b" > b | ||||
$ hg add a b | ||||
$ hg commit -m "initial" | ||||
$ echo "file a change 1" > a | ||||
$ echo "file b change 1" > b | ||||
$ hg commit -m "head 1" | ||||
$ hg update 0 | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo "file a change 2" > a | ||||
$ echo "file b change 2" > b | ||||
$ hg commit -m "head 2" | ||||
created new head | ||||
$ hg merge | ||||
merging a | ||||
warning: conflicts during merge. | ||||
|
r15501 | merging a incomplete! (edit conflicts, then use 'hg resolve --mark') | ||
|
r11783 | merging b | ||
warning: conflicts during merge. | ||||
|
r15501 | merging b incomplete! (edit conflicts, then use 'hg resolve --mark') | ||
|
r11783 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved | ||
|
r12314 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | ||
|
r12316 | [1] | ||
|
r11783 | $ hg resolve -m b | ||
hg resolve with one unresolved, one resolved: | ||||
$ hg resolve --color=always -l | ||||
|
r12942 | \x1b[0;31;1mU a\x1b[0m (esc) | ||
\x1b[0;32;1mR b\x1b[0m (esc) | ||||
|
r16913 | |||
|
r21227 | color coding of error message with current availability of curses | ||
$ hg unknowncommand > /dev/null | ||||
hg: unknown command 'unknowncommand' | ||||
[255] | ||||
color coding of error message without curses | ||||
$ echo 'raise ImportError' > curses.py | ||||
$ PYTHONPATH=`pwd`:$PYTHONPATH hg unknowncommand > /dev/null | ||||
hg: unknown command 'unknowncommand' | ||||
[255] | ||||
|
r16913 | $ cd .. | ||