tests/test-remove
changeset 6346 8e3b651382f5
parent 4394 a6436e9333db
child 6356 b34b876d1f6f
--- 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