diff -r 56c7c3209e1a -r 41d481ddd976 tests/test-bookmarks.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bookmarks.t Sat Aug 14 02:57:54 2010 +0200 @@ -0,0 +1,182 @@ + $ echo "[extensions]" >> $HGRCPATH + $ echo "bookmarks=" >> $HGRCPATH + + $ hg init + +no bookmarks + + $ hg bookmarks + no bookmarks set + +bookmark rev -1 + + $ hg bookmark X + +list bookmarks + + $ hg bookmarks + * X -1:000000000000 + +list bookmarks with color + + $ hg --config extensions.color= --config color.mode=ansi \ + > bookmarks --color=always +  * X -1:000000000000 + + $ echo a > a + $ hg add a + $ hg commit -m 0 + +bookmark X moved to rev 0 + + $ hg bookmarks + * X 0:f7b1eb17ad24 + +look up bookmark + + $ hg log -r X + changeset: 0:f7b1eb17ad24 + tag: X + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: 0 + + +second bookmark for rev 0 + + $ hg bookmark X2 + +bookmark rev -1 again + + $ hg bookmark -r null Y + +list bookmarks + + $ hg bookmarks + * X2 0:f7b1eb17ad24 + * X 0:f7b1eb17ad24 + Y -1:000000000000 + + $ echo b > b + $ hg add b + $ hg commit -m 1 + +bookmarks X and X2 moved to rev 1, Y at rev -1 + + $ hg bookmarks + * X2 1:925d80f479bb + * X 1:925d80f479bb + Y -1:000000000000 + +bookmark rev 0 again + + $ hg bookmark -r 0 Z + + $ echo c > c + $ hg add c + $ hg commit -m 2 + +bookmarks X and X2 moved to rev 2, Y at rev -1, Z at rev 0 + + $ hg bookmarks + * X2 2:0316ce92851d + * X 2:0316ce92851d + Z 0:f7b1eb17ad24 + Y -1:000000000000 + +rename nonexistent bookmark + + $ hg bookmark -m A B + abort: a bookmark of this name does not exist + +rename to existent bookmark + + $ hg bookmark -m X Y + abort: a bookmark of the same name already exists + +force rename to existent bookmark + + $ hg bookmark -f -m X Y + +list bookmarks + + $ hg bookmark + * X2 2:0316ce92851d + * Y 2:0316ce92851d + Z 0:f7b1eb17ad24 + +rename without new name + + $ hg bookmark -m Y + abort: new bookmark name required + +delete without name + + $ hg bookmark -d + abort: bookmark name required + +delete nonexistent bookmark + + $ hg bookmark -d A + abort: a bookmark of this name does not exist + +bookmark name with spaces should be stripped + + $ hg bookmark ' x y ' + +list bookmarks + + $ hg bookmarks + * X2 2:0316ce92851d + * Y 2:0316ce92851d + Z 0:f7b1eb17ad24 + * x y 2:0316ce92851d + +look up stripped bookmark name + + $ hg log -r '"x y"' + changeset: 2:0316ce92851d + tag: X2 + tag: Y + tag: tip + tag: x y + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: 2 + + +reject bookmark name with newline + + $ hg bookmark ' + > ' + abort: bookmark name cannot contain newlines + +bookmark with existing name + + $ hg bookmark Z + abort: a bookmark of the same name already exists + +force bookmark with existing name + + $ hg bookmark -f Z + +list bookmarks + + $ hg bookmark + * X2 2:0316ce92851d + * Y 2:0316ce92851d + * Z 2:0316ce92851d + * x y 2:0316ce92851d + +revision but no bookmark name + + $ hg bookmark -r . + abort: bookmark name required + +bookmark name with whitespace only + + $ hg bookmark ' ' + abort: bookmark names cannot consist entirely of whitespace + + $ true