--- a/tests/test-remove Fri Mar 21 17:22:47 2008 -0500
+++ b/tests/test-remove Sat Mar 22 10:07:49 2008 +0100
@@ -1,45 +1,109 @@
#!/bin/sh
+remove() {
+ hg rm $@
+ hg st
+ ls -R
+ hg up -C
+}
+
hg init a
cd a
echo a > foo
-hg rm foo
+
+echo % file not managed
+remove foo
+
hg add foo
-hg commit -m 1 -d "1000000 0"
-hg remove
+hg commit -m1
+
+# the table cases
+
+echo % 00 state added, options none
+echo b > bar
+hg add bar
+remove bar
+
+echo % 01 state clean, options none
+remove foo
+
+echo % 02 state modified, options none
+echo b >> foo
+remove foo
+
+echo % 03 state missing, options none
rm foo
-hg remove foo
-hg revert --all
+remove foo
+
+echo % 10 state added, options -f
+echo b > bar
+hg add bar
+remove -f bar
+rm bar
+
+echo % 11 state clean, options -f
+remove -f foo
+
+echo % 12 state modified, options -f
+echo b >> foo
+remove -f foo
+
+echo % 13 state missing, options -f
rm foo
-hg remove --after
-hg commit -m 2 -d "1000000 0"
-hg export --nodates 0
-hg export --nodates 1
-hg log -p -r 0
-hg log -p -r 1
+remove -f foo
+
+echo % 20 state added, options -A
+echo b > bar
+hg add bar
+remove -A bar
-echo a > a
-hg add a
-hg rm a
-hg rm -f a
-echo b > b
-mkdir c
-echo d > c/d
-hg ci -A -m 3 -d "1000001 0"
-echo c >> b
-hg rm b
-hg rm -f b
-hg rm -A c/d
-hg st
-cat c/d
-hg revert c
-hg rm -A
-hg st
-hg rm -A c
-hg st
-rm c/d
-hg rm -A
-hg st
+echo % 21 state clean, options -A
+remove -A foo
+
+echo % 22 state modified, options -A
+echo b >> foo
+remove -A foo
+
+echo % 23 state missing, options -A
+rm foo
+remove -A foo
+
+echo % 30 state added, options -Af
+echo b > bar
+hg add bar
+remove -Af bar
+rm bar
+
+echo % 31 state clean, options -Af
+remove -Af foo
+
+echo % 32 state modified, options -Af
+echo b >> foo
+remove -Af foo
-cd ..
-hg clone a b
+echo % 33 state missing, options -Af
+rm foo
+remove -Af foo
+
+# test some directory stuff
+
+mkdir test
+echo a > test/foo
+echo b > test/bar
+hg ci -Am2
+
+echo % dir, options none
+rm test/bar
+remove test
+
+echo % dir, options -f
+rm test/bar
+remove -f test
+
+echo % dir, options -A
+rm test/bar
+remove -A test
+
+echo % dir, options -Af
+rm test/bar
+remove -Af test