Commits

Joel Rosdahl committed 4ba89b6

bookmarks: Add tests

Comments (0)

Files changed (2)

tests/test-bookmarks

+#!/bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "bookmarks=" >> $HGRCPATH
+
+hg init
+
+echo % no bookmarks
+hg bookmarks
+
+echo % bookmark rev -1
+hg bookmark X
+
+echo % list bookmarks
+hg bookmarks
+
+echo a > a
+hg add a
+hg commit -m 0
+
+echo % bookmark X moved to rev 0
+hg bookmarks
+
+echo % look up bookmark
+hg log -r X
+
+echo % second bookmark for rev 0
+hg bookmark X2
+
+echo % bookmark rev -1 again
+hg bookmark -r null Y
+
+echo % list bookmarks
+hg bookmarks
+
+echo b > b
+hg add b
+hg commit -m 1
+
+echo % bookmarks X and X2 moved to rev 1, Y at rev -1
+hg bookmarks
+
+echo % bookmark rev 0 again
+hg bookmark -r 0 Z
+
+echo c > c
+hg add c
+hg commit -m 2
+
+echo % bookmarks X and X2 moved to rev 2, Y at rev -1, Z at rev 0
+hg bookmarks
+
+echo % rename nonexistent bookmark
+hg bookmark -m A B
+
+echo % rename to existent bookmark
+hg bookmark -m X Y
+
+echo % force rename to existent bookmark
+hg bookmark -f -m X Y
+
+echo % list bookmarks
+hg bookmark
+
+echo % rename without new name
+hg bookmark -m Y
+
+echo % delete without name
+hg bookmark -d
+
+echo % delete nonexistent bookmark
+hg bookmark -d A
+
+echo % bookmark name with spaces should be stripped
+hg bookmark ' x  y '
+
+echo % list bookmarks
+hg bookmarks
+
+echo % look up stripped bookmark name
+hg log -r 'x  y'
+
+echo % reject bookmark name with newline
+hg bookmark '
+'
+
+echo % bookmark with existing name
+hg bookmark Z
+
+echo % force bookmark with existing name
+hg bookmark -f Z
+
+echo % list bookmarks
+hg bookmark
+
+echo % revision but no bookmark name
+hg bookmark -r .
+
+true

tests/test-bookmarks.out

+% no bookmarks
+no bookmarks set
+% bookmark rev -1
+% list bookmarks
+ * X                         -1:000000000000
+% bookmark X moved to rev 0
+ * X                         0:f7b1eb17ad24
+% look up bookmark
+changeset:   0:f7b1eb17ad24
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     0
+
+% second bookmark for rev 0
+% bookmark rev -1 again
+% list bookmarks
+ * X2                        0:f7b1eb17ad24
+ * X                         0:f7b1eb17ad24
+   Y                         -1:000000000000
+% bookmarks X and X2 moved to rev 1, Y at rev -1
+ * X2                        1:925d80f479bb
+ * X                         1:925d80f479bb
+   Y                         -1:000000000000
+% bookmark rev 0 again
+% bookmarks X and X2 moved to rev 2, Y at rev -1, Z at rev 0
+ * X2                        2:0316ce92851d
+ * X                         2:0316ce92851d
+   Z                         0:f7b1eb17ad24
+   Y                         -1:000000000000
+% rename nonexistent bookmark
+abort: a bookmark of this name does not exist
+% rename to existent bookmark
+abort: a bookmark of the same name already exists
+% force rename to existent bookmark
+% list bookmarks
+ * X2                        2:0316ce92851d
+ * Y                         2:0316ce92851d
+   Z                         0:f7b1eb17ad24
+% rename without new name
+abort: new bookmark name required
+% delete without name
+abort: bookmark name required
+% delete nonexistent bookmark
+abort: a bookmark of this name does not exist
+% bookmark name with spaces should be stripped
+% list bookmarks
+ * X2                        2:0316ce92851d
+ * Y                         2:0316ce92851d
+   Z                         0:f7b1eb17ad24
+ * x  y                      2:0316ce92851d
+% look up stripped bookmark name
+changeset:   2:0316ce92851d
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+summary:     2
+
+% reject bookmark name with newline
+abort: bookmark name cannot contain newlines
+% bookmark with existing name
+abort: a bookmark of the same name already exists
+% force bookmark with existing name
+% list bookmarks
+ * X2                        2:0316ce92851d
+ * Y                         2:0316ce92851d
+ * Z                         2:0316ce92851d
+ * x  y                      2:0316ce92851d
+% revision but no bookmark name
+abort: bookmark name required